[英]How can I call a function in an iframe's parent using Greasemonkey
我有一个Greasemonkey脚本,可以将iframe添加到页面中(称为第1页)。 iframe包含另一个页面(称为第2页)。 该脚本也在第2页上运行。 页1和2在不同的域上。
我想允许在第2页中运行的代码在第1页上调用一个函数。鉴于Greasemonkey代码的限制较低,这可能吗?
浏览器将阻止这种情况,因为域是不同的。
您可以使用一些技巧在框架之间进行通信:
广告3:您将无法阅读其他框架的URL,但可以对其进行设置。 如果将URL更改为完全相同的页面,但URL带有#anchor组件,则该页面实际上不会重新加载:
window.frames["childFrame"].location.href = "http://www.somewebsite.com/#message"
然后,您需要向外部页面添加脚本,以定期轮询其location.href并处理消息。 是的,这很丑陋,但是如果操作正确,它将可以在所有常见的浏览器中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.