Javascript 如何从从该iframe打开的弹出窗口中设置iframe的src

Javascript 如何从从该iframe打开的弹出窗口中设置iframe的src,javascript,google-chrome,iframe,window,location,Javascript,Google Chrome,Iframe,Window,Location,我有一个iframe,从中可以打开一个弹出窗口。在弹出窗口中进行一些重定向之后,我想更改iframe的src,然后关闭弹出窗口。这在Chrome中不起作用(在其他浏览器中起作用)。我正在尝试使用window.opener.location.href=newURL,但在Chrome中,这会将href更改为页面,而不是iframe。有什么建议吗?我不是javascript开发人员,但这是我的项目需要的一小部分。我想这可能与Chrome强加的安全性有关。 您可以编写用于更改url的函数(分配windo

我有一个
iframe
,从中可以打开一个弹出窗口。在弹出窗口中进行一些重定向之后,我想更改
iframe
src
,然后关闭弹出窗口。这在Chrome中不起作用(在其他浏览器中起作用)。我正在尝试使用
window.opener.location.href=newURL
,但在Chrome中,这会将
href
更改为页面,而不是
iframe
。有什么建议吗?我不是javascript开发人员,但这是我的项目需要的一小部分。

我想这可能与Chrome强加的安全性有关。 您可以编写用于更改url的函数(分配window.location的简单包装器),然后从弹出窗口调用该函数,而不是直接尝试弄乱打开器的位置

// function in parent (opener window)
function navigateTo(url) {
    window.location = url;
}

// invoke that function from within pop-up like so:
window.opener.navigateTo('http://some-url.com');

如果在执行上述功能时父窗口和弹出窗口共享同一个域,则该功能将正常工作。

这只是Chrome的问题吗?顺便说一句,在弹出窗口重定向几次之后,当它试图更改开启器位置时,是否会在同一主机上结束?是的。在其他浏览器中工作正常。iframe src将使用新值进行更改。我是否应该尝试使用self.opener.location.href?弹出窗口用于允许应用程序共享google凭据(sso登录),您看过了吗?谢谢。我的搜索是不同的。我会试试看,好吧,所以你不能使用window.opener(至少在Chrome中)-你会得到安全性错误。