我试图拦截包含在iframe中的页面上单击的链接。这是我有的代码,但它不起作用。任何想法我需要做什么?jquery - 在iframe中单击拦截链接
$("#container").delegate('a', 'click', function(e){
//do stuff
}
Container是iframe中的div的id。
预先感谢任何建议
我试图拦截包含在iframe中的页面上单击的链接。这是我有的代码,但它不起作用。任何想法我需要做什么?jquery - 在iframe中单击拦截链接
$("#container").delegate('a', 'click', function(e){
//do stuff
}
Container是iframe中的div的id。
预先感谢任何建议
您需要到达内设置委托在那里,你可以做这样的:
$('#myiframe').contents().find("#container").delegate('a', 'click', function(e){
//do stuff
}
编辑 - Mailslut使得下方的好点,如果iframe不在同一个域(和端口)上,你不能做任何事情。如果是这种情况,你想知道更多关于为什么,read about the same-origin policy出于安全原因。
为什么不在iframe中添加事件侦听器,然后调用父/开启器来通知事件。
如果您的iframe内容位于不同的域中,您将无法执行此操作,因为它被归类为“点击”,这是一个很大的安全威胁。
来自不同域的IFRAME中的页面?如果是这样,你应该忘记能够做到这一点。 – 2010-04-29 11:37:09
该页面可能是真的。它最有可能是另一个内部网站,所以我们的网站是our-site.blah.com,并且iframe中的链接可能是东西--else.blah.com - 是否会起作用? – Kaskade 2010-04-29 11:39:49
@Kaskade - 如果你从'blah.com'运行主页并且iframe是'something-else.blah.com',它会起作用,因为它是一个子域目前的域名,但兄弟会不会...因为说'google.com'是'yourbank.com'的兄弟姐妹,'com'域的两个子目录。 – 2010-04-29 11:42:38