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 请求一样。但是不知道是什么情况
你好,我想知道我是否可以打开 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 请求一样。但是不知道是什么情况