如果由window.open函数打开,新窗口的属性是什么?

时间:2016-08-19 10:58:43

标签: javascript

如果我在<script></script>之间添加此代码:

function test()
{
    var newWindow = window.open("https://stackoverflow.com/", "a", "width = 600,height = 400");
    document.write(newWindow.location.href);
    document.write(newWindow.innerWidth);
}
test();

输出是&#34;关于:空白&#34;和0,虽然我认为它应该是&#34; https://stackoverflow.com/&#34;和600。 我对此很困惑,等待解释。

AND:如果我想获取新窗口的URL,我该怎么办? 非常感谢。

1 个答案:

答案 0 :(得分:1)

如果等待load事件:

,您可以异步捕获这些值
var newWindow = window.open('http://www.stackoverflow.com', 'a', 'width=600,height=400')
newWindow.addEventListener('load', function () {
    console.log(newWindow.location.href);
    console.log(newWindow.innerWidth);
});

然而,正如James Thorpe指出的那样,这只有在新窗口与运行脚本的页面位于同一个域中时才会起作用,并且这是异步发生的,所以无论您使用什么来尝试完成document.write()可能无效。

相关问题