代码如下:
setTimeout(function(){
window.open('a.html');
},2000);
打开的新窗口在chrome下为什么是以弹出窗口的方式,而不是新的标签页,求大神解惑?
各个浏览器的设置不同。
最好的方法是弹出一个Div,Div里面嵌一个Iframe
如果没有setTimeout,页面是在新的标签页,加上就变成弹出窗口了,主要是对这个问题比较好奇.
http://www.w3school.com.cn/tiy/t.asp?f=hdom_openallwindow
window.open()方法是可以参数控制在新窗口中打开,还是在新标签页中打开的。
不加参数,使用默认情况,是打开一个新的标签,加上setTimeout后变成了弹出窗口,为什么呢?太好奇了关键。。。
@doushishenme:
<html>
<head>
<script type="text/javascript">
setTimeout(function(){window.open("b.html");},2000);
</script>
</head>
<body>
</body>
</html>确认,在chrome浏览器下是打开一个新的标签页。
@LoveBaymax: 首先感谢你的回复,我将你的代码拷到我本地webstorm中,从webstorm中打开网页,发现同样是弹出窗口,而不是标签页,我的chrome是36,默认设置,webstorm是9.0
每个浏览器默认的不同
每个浏览器对这个的默认值是不一样的, 也就是说window.open在默认情况下是有默认参数的。
而在你不给参数的情况下,浏览器会帮你给,每个浏览器给的都不尽相同。
window.open具体参数说明: js window.open 的参数说明
建议可以去http://www.w3school.com.cn上面找找
http://www.w3school.com.cn/jsref/met_win_open.asp