我想在iframe内部点击后获得警报确定,我尝试了如下代码,但它不起作用。我该怎么办?
我无法更改iframe,已修复。
HTML:
<div class="addv">
<iframe src="http://ad.anetwork.ir/showad/c.php?adwidth=300&adheight=250&aduser=1423687058" height="250" width="300" frameborder="0" scrolling="no" style="background: #FFF url(http://static-cdn.anetwork.ir/img/loader.gif) no-repeat center;"></iframe>
</div>
Jquery的:
$(".addv").on("click", "a", function(event) {
alert('ok'); //should alert ok
});
答案 0 :(得分:3)
如果我没弄错的话,你试图将事件处理程序绑定到a
标记,该标记已作为iframe
的DOM的一部分呈现。不幸的是,鉴于DOM源自不同的域,这是不可能的。
你需要一定程度的访问来操纵子iframe的DOM,同一来源政策的访问级别禁止你:
同源策略限制文档或脚本的加载方式 一个来源可以与来自另一个来源的资源进行交互。 同源策略用作防止某些策略的手段 跨站点请求伪造攻击。
https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
尝试解决此问题有时令人讨厌,但这对于安全目的至关重要。
如果iframe位于同一个域中,您可以选择 - 但我假设您使用的是绝对网址(至少在您的小提琴中是这种情况),它位于不同的域中。
答案 1 :(得分:0)
尝试将onClick = "alert('ok')"
放入iframe标记内。