如何检测何时执行iframe脚本?

时间:2012-08-24 09:07:01

标签: javascript jquery html iframe

例如: 我有一个主页,其中包含iframe,我的iframe包含一个按钮。当我按下iframe内的按钮时,会执行一些脚本,并更改​​iframe的设计。文字出现和其他东西。

如何检测何时运行iframe脚本? (或按下按钮?)

iframe来自不同的域。

4 个答案:

答案 0 :(得分:3)

如果iframe的内容来自与外部页面不同的域,则您不能 - 浏览器故意阻止您能够详细说明iframe内部的内容。你可以做的是抓住帧指向的URL,如果它改变了。

如果它在同一个域中运行,您只需访问iframe中的元素,就像通常使用iframe的document属性一样

答案 1 :(得分:0)

如果主页面和iframe位于同一个域中,您可以将iframe中的javascript调用为函数或访问父框架的元素。

所以在iframe脚本的末尾你可以做到

parent.script_is_finished();

答案 2 :(得分:0)

如果您可以控制iframe中的脚本,则可以使用window.postMessage与主页进行通信,即使它们位于不同的域中。

支持 is limited 到FF3 +,IE8 +,Chrome,Safari(5?),Opera10 +

这是 demo on html5demos

答案 3 :(得分:0)

作为iframe来自不同域的事实的更新:

简答:否。您无法检测来自其他域的iframe内的点击次数。

更长但仍然很短的答案:您无法解决iframe内容的原因 - 它是一个安全保障风险,除非 iframe位于同一个域中。您无法跟踪来自其他域的iframe内的用户活动。

抱歉,但我希望有所帮助!