Javascript 从secound级别的iframe中选择根文档
我试图捕获用户在孔页面上单击的位置,但是是从iframe中的iframe 所以基本上我可以控制用户从第二个iframe点击第一个iframe的位置,但是不能控制用户点击根文档的位置 我几乎什么都试过了,找不到答案 以下是我的实际javascript:Javascript 从secound级别的iframe中选择根文档,javascript,jquery,html,iframe,shadowbox,Javascript,Jquery,Html,Iframe,Shadowbox,我试图捕获用户在孔页面上单击的位置,但是是从iframe中的iframe 所以基本上我可以控制用户从第二个iframe点击第一个iframe的位置,但是不能控制用户点击根文档的位置 我几乎什么都试过了,找不到答案 以下是我的实际javascript: $(window, window.parent.document).document.click(function( event ) { alert(event.target.nodeName ); }); 对于上下文,我使用shadow
$(window, window.parent.document).document.click(function( event ) {
alert(event.target.nodeName );
});
对于上下文,我使用shadowbox作为iFrame,我的目标是控制用户在shadowbox之外单击的时间。文档本身已返回未定义的,您需要首先取消引用jQuery对象,以获得窗口的“DOM版本”$(窗口)[0]。文档
但事实证明,您可以简单地使用$(parent.document,parent.parent.document)。单击()
对我来说,这似乎也是最直接的方式
(不知道为什么top.document
不起作用,因为它始终是最顶层的窗口实例,所以从iframe内部的iframe来看,它应该与parent.parent.document
相同……或者是否涉及到更多(i)帧,另一个级别?无论如何,只要你得到了可以工作的东西,这并不重要。)并且所有三个文档的内容(父页面和嵌套iFrame中的文档)都是从同一个来源加载的…?@CBroe是的,所有文档都来自同一个域,我可以访问所有3个文件$(窗口)。文档本身已返回未定义的,您需要首先取消引用jQuery对象以获得“DOM版本”窗口的,$(窗口)[0]。文档
。您不能简单地使用$(parent.document,top.document)。单击()?这似乎是最直接的解决方法me@CBroe因此,我尝试了:$(parent.document,top.document)。单击()
,但它只从父iframe获取元素,而不是从根文档获取元素。parent.parent.document
?如果也不是这样,那么请准备一份合适的报告供我们检查/试验。