例如: 我有一个主页,其中包含iframe,我的iframe包含一个按钮。当我按下iframe内的按钮时,会执行一些脚本,并更改iframe的设计。文字出现和其他东西。
如何检测何时运行iframe脚本? (或按下按钮?)
iframe来自不同的域。
答案 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
内的用户活动。
抱歉,但我希望有所帮助!