我在FireFox中使用GreaseMonkey,代码如下
if (window.opener)
{
alert(window.opener.location.href);
}
但是,我收到Permission Denied
错误,可能是由于跨域策略。我如何克服这种保护?
答案 0 :(得分:1)
如果窗口与其开启者不同,则无法执行此操作。对于普通javascript,阻止此信息被视为安全保护。
对于Greasemonkey,可能不是安全问题,但Greasemonkey开发人员尚未添加该功能。 Greasemonkey只是简单的javascript,添加了选择的,有限的扩展功能。
你可以open a feature request为此,但它是unlikely to be approved,除非你能为两者做好准备:这有用,以及它如何不会导致粗心的GM用户“ PWNED”。
同时,您可以随时分叉the Greasemonkey source code并构建自己的版本,打破跨域障碍。
或者,根据您真正尝试做的事情,可能会有一个涉及两个或多个脚本实例进行通信的解决方法。打开一个新问题并详细描述的详细信息,以获取解决方法的帮助。