3

我需要这样的功能 - 加载后获取子窗口的 URL

var ref = window.open(link, window_params);  // link - external in other domain
setTimeout(function(){
    console.log(ref.location.href);
}, 1000); // 100 ms for example

我收到错误

 Error: Permission denied to access property 'href'

我知道从另一个来源的窗口获取 url 的来源限制,并在本文之后阅读常见问题解答 - https://developer.mozilla.org/en-US/docs/Web/API/window.open?redirectlocale=en-US&redirectslug= DOM%2Fwindow.open

我可以以某种方式获取打开窗口的网址吗?有任何想法吗?

4

1 回答 1

0

如果打开的页面在您的控制范围内,您应该可以在父窗口中设置一个回调函数,子窗口调用它;

家长

window.OnChildWindowLoaded = function (href) {
    console.log('Opened ' + href + ' successfully');
};
window.open('Child.html', ...);

Child.html

<script>
window.onload = function () {
    window.opener.OnChildWindowLoaded(location.href);
};
</script>
于 2013-06-19T15:39:46.870 回答