1

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

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

iframe 来自不同的域。

4

4 回答 4

3

如果 iframe 的内容来自与外部页面不同的域,那么您不能 - 浏览器故意阻止您了解 iframe 内部发生的事情。但是,您可以做的是抓取框架所指向的 URL(如果它发生更改)。

如果它在同一个域中运行,您可以通过 iframe 的 document 属性访问 iframe 中的元素,其方式几乎与通常相同

于 2012-08-24T09:11:17.603 回答
0

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

所以在 iframe 脚本的最后你可以做

parent.script_is_finished();
于 2012-08-24T09:15:41.443 回答
0

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

对此的支持仅限于 FF3+、IE8+、Chrome、Safari(5?)、Opera10+

这是关于 html5demos 的演示

于 2012-08-24T09:29:31.357 回答
0

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

简短回答:不。您无法检测到iframe来自另一个域的点击。

更长但仍然简短的答案:您不能更改的原因与您可以更改内容的原因相同——除非在同一域中,否则iframe这将是一个安全风险。您根本无法跟踪来自不同域的用户活动。iframeiframe

对不起,但我希望这有帮助!

于 2012-08-24T09:35:17.807 回答