例如:我有一个带有 iframe 的主页,我的 iframe 包含一个按钮。当我按下 iframe 内的按钮时,会执行一些脚本,并更改 iframe 的设计。文本出现和其他东西。
如何检测 iframe 脚本何时运行?(或者按钮被按下了?)
iframe 来自不同的域。
例如:我有一个带有 iframe 的主页,我的 iframe 包含一个按钮。当我按下 iframe 内的按钮时,会执行一些脚本,并更改 iframe 的设计。文本出现和其他东西。
如何检测 iframe 脚本何时运行?(或者按钮被按下了?)
iframe 来自不同的域。
如果 iframe 的内容来自与外部页面不同的域,那么您不能 - 浏览器故意阻止您了解 iframe 内部发生的事情。但是,您可以做的是抓取框架所指向的 URL(如果它发生更改)。
如果它在同一个域中运行,您可以通过 iframe 的 document 属性访问 iframe 中的元素,其方式几乎与通常相同
如果主页面和 iframe 在同一个域中,可以让 iframe 中的 javascript 调用函数或访问父框架的元素。
所以在 iframe 脚本的最后你可以做
parent.script_is_finished();
如果您可以控制 iframe 中的脚本,则可以使用window.postMessage
它与您的主页进行通信,即使它们位于不同的域中。
对此的支持仅限于 FF3+、IE8+、Chrome、Safari(5?)、Opera10+
iframe
作为对来自不同域的事实的更新:
简短回答:不。您无法检测到iframe
来自另一个域的点击。
更长但仍然简短的答案:您不能更改的原因与您可以更改内容的原因相同——除非在同一域中,否则iframe
这将是一个安全风险。您根本无法跟踪来自不同域的用户活动。iframe
iframe
对不起,但我希望这有帮助!