我正在打开一个位于httpps下的网页的弹出窗口。当我尝试从弹出窗口中使用命令window.opener.location。(href / str / port / domain .. etc)来获取开启者页面的url时,我得到一个'Permission Denied'。我也一直在Firefox上使用Firebug来测试它。 有什么方法可以通过使用另一个命令或做其他事情来传递这个。 如果我在https下打开opener url,那么我可以从弹出窗口中访问它。我猜这与非安全端口相比,必须在安全端口上。我想这应该是可能的,因为我试图从安全页面获取非安全页面的信息。
基本上,我试图扫描开启者页面的url并检查它是否包含某个子字符串,我想执行某个功能。任何可以实现这一目标的替代建议也将受到赞赏。
答案 0 :(得分:0)
由于同源策略,您会看到错误。当两个域进行比较时,它会考虑协议,域名和端口。在你的情况下协议是不同的,因此你得到“权限被拒绝”的例外。
您可以尝试以下技巧 - 当您打开弹出窗口时,将父级的URL分配给弹出窗口window.name
,该弹出窗口应该可用于弹出式窗口javascript。此外,您可以在末尾使用哈希构造弹出窗口的URL,例如:https://mydomain.com/page.html#http://mydomain.com/parent.html