点击iframe内部后,通过jQuery或javascript获取提醒

时间:2015-03-10 16:05:18

标签: javascript jquery iframe

我想在iframe内部点击后获得警报确定,我尝试了如下代码,但它不起作用。我该怎么办?

我无法更改iframe,已修复。

HTML:

<div class="addv">
<iframe src="http://ad.anetwork.ir/showad/c.php?adwidth=300&amp;adheight=250&amp;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
});

DEMO: http://jsfiddle.net/dky6h1ev/

2 个答案:

答案 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标记内。