Jquery 新 window 中的点击事件

Jquery click event in new window

你好,我想知道我是否可以打开 link 并触发这样的点击:

目前没有任何反应。

$(document).ready(function(){
    window.open("url");
    $("object").delay(2500).trigger("click");
});

1 种方法是使用 hash

$(document).ready(function(){
    window.open("url#click");
});

在另一页

$(document).ready(function(){
    if(window.location.hash == '#click'){
        $(".button").trigger("click");
    }
});

这是因为您在当前页面的 DOM 而不是弹出窗口。

如果您执行以下操作:

var popup = window.open('/');

popup.addEventListener('load', function() {
    setTimeout(function() {
        $(popup.document.body).find("object").click();
    }, 2500);
}, false);

它将访问弹出窗口的DOM。

请参阅此 fiddle 以获取在 Fiddle 编辑器上删除徽标 http://jsfiddle.net/anrk8n83/1/ 的示例。

注意这不会跨域工作。

因为没看出是跨域的,所以调用javascript到另一个window几乎是不可能的。

如果您尝试使用以下代码的 iframe:

$('iframe').load(function() {
    var iframe = this.contentWindow || this.contentDocument;

    $(iframe).find('h1').text('Changed title');
}).attr('src', 'http://example.com');

控制台中会出现一个错误:

Uncaught SecurityError: Blocked a frame with origin "http://fiddle.jshell.net" from accessing a frame with origin "http://example.com". Protocols, domains, and ports must match.

你可以自己试试in this JSFiddle

Chrome 阻止添加自定义 javascript,因为这将是一个巨大的安全漏洞。例如:您将 Facebook 加载到 iframe 中,并在 'login' 按钮上添加一个事件侦听器,用于将用户名和密码发送到您的服务器。用户会认为他已安全登录,但在后台将密码发送到其他服务器。

我想你可以换一种方式。就像 POST 请求一样。但是不知道是什么情况