Javascript 如何检测何时执行iframe脚本?
例如: 我有一个带有iframe的主页,我的iframe包含一个按钮。当我按下iframe中的按钮时,一些脚本被执行,iframe的设计也被更改。出现文本和其他内容 如何检测何时运行iframe脚本?(或者按钮被按下了?)Javascript 如何检测何时执行iframe脚本?,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,例如: 我有一个带有iframe的主页,我的iframe包含一个按钮。当我按下iframe中的按钮时,一些脚本被执行,iframe的设计也被更改。出现文本和其他内容 如何检测何时运行iframe脚本?(或者按钮被按下了?) iframe来自不同的域。如果iframe的内容来自与外部页面不同的域,则您不能-浏览器故意阻止您了解iframe内部的情况。不过,如果框架发生变化,您可以抓取它所指向的URL 如果它在同一个域中运行,您可以像通常一样通过iframe的document属性访问iframe中的
iframe来自不同的域。如果iframe的内容来自与外部页面不同的域,则您不能-浏览器故意阻止您了解iframe内部的情况。不过,如果框架发生变化,您可以抓取它所指向的URL
如果它在同一个域中运行,您可以像通常一样通过iframe的document属性访问iframe中的元素。如果主页和iframe在同一个域中,您可以使iframe中的javascript调用函数或访问父框架的元素 因此,在iframe中的脚本末尾,您可以执行以下操作
parent.script_is_finished();
如果您可以控制iframe中的脚本,那么您可以使用它与主页进行通信,即使它们位于不同的域中 对FF3+、IE8+、Chrome、Safari(5?)和Opera10的支持+
这里有一个作为对
iframe
来自不同域这一事实的更新:
简短回答:否。您无法在另一个域的iframe
中检测到单击
长而短的回答:您不能更改的原因与您可以更改iframe
的内容的原因相同——这将是一种安全风险,除非iframe
位于同一域上。您根本无法跟踪来自不同域的iframe
中的用户活动
对不起,但我希望这有帮助 那你就不能。浏览器不会让你这样做,因为这是一个安全风险。你有任何控制其他域。。。你能更新它吗?如果没有,那么@PhonicUK是正确的,您将点击。如果您这样做了,那么就有可能允许使用CORS进行访问,例如。。。有关更多详细信息,请参阅iframe代码中没有任何控件。。。我在想如果我能检测到它被点击的时间。。。这是可能的吗?不,如果你无法控制iFrame的源代码,那么你就完全不走运了。。。您无法访问iframe中的任何内容(DOM、代码、事件等),出于良好的安全原因,这没有任何帮助,抱歉:)@Pytagora如果您能告诉我们您在大局中想要实现什么,我们可能会提供更多帮助。