你好我想知道我是否可以打开链接并触发这样的点击:
目前没有任何事情发生。
$(document).ready(function(){
window.open("url");
$("object").delay(2500).trigger("click");
});
答案 0 :(得分:1)
执行此操作的一种方法是使用hash
$(document).ready(function(){
window.open("url#click");
});
在另一页
$(document).ready(function(){
if(window.location.hash == '#click'){
$(".button").trigger("click");
}
});
答案 1 :(得分:0)
这是因为你在当前页面的DOM而不是poup。
如果您执行以下操作:
var popup = window.open('/');
popup.addEventListener('load', function() {
setTimeout(function() {
$(popup.document.body).find("object").click();
}, 2500);
}, false);
它将访问弹出窗口的DOM。
请参阅此小提琴,了解在小提琴编辑器中删除徽标http://jsfiddle.net/anrk8n83/1/的示例。
注意这不适用于跨域。
答案 2 :(得分:0)
因为我没有看到它是跨域的,所以几乎不可能将javascript调用到另一个窗口。
如果您使用以下代码尝试iframe:
$('iframe').load(function() {
var iframe = this.contentWindow || this.contentDocument;
$(iframe).find('h1').text('Changed title');
}).attr('src', 'http://example.com');
控制台中会出现错误:
未捕获的SecurityError:阻止具有原点“http://fiddle.jshell.net”的帧访问具有原点“http://example.com”的帧。协议,域和端口必须匹配。
您可以自己尝试in this JSFiddle。
Chrome会阻止添加自定义JavaScript,因为它会隐藏安全漏洞。例如:您将Facebook加载到iframe中,并在“登录”按钮上添加一个事件监听器,您可以将用户名和密码发送到服务器。用户会认为他已安全登录,但在后台将密码发送到其他服务器。
我想你可能会采取另一种方式。像POST请求一样。但我不知道情况如何。