首页新闻找找看学习计划

关于window.open()打开弹出窗口的问题?

0
[待解决问题]

代码如下:

setTimeout(function(){

  window.open('a.html');

},2000);

打开的新窗口在chrome下为什么是以弹出窗口的方式,而不是新的标签页,求大神解惑?

doushishenme的主页 doushishenme | 菜鸟二级 | 园豆:202
提问于:2015-06-18 16:52
< >
分享
所有回答(6)
0

各个浏览器的设置不同。

最好的方法是弹出一个Div,Div里面嵌一个Iframe

傲慢与偏剑 | 园豆:381 (菜鸟二级) | 2015-06-18 16:55

如果没有setTimeout,页面是在新的标签页,加上就变成弹出窗口了,主要是对这个问题比较好奇.

支持(0) 反对(0) doushishenme | 园豆:202 (菜鸟二级) | 2015-06-18 17:13
0

http://www.w3school.com.cn/tiy/t.asp?f=hdom_openallwindow

window.open()方法是可以参数控制在新窗口中打开,还是在新标签页中打开的。

芝芝07 | 园豆:365 (菜鸟二级) | 2015-06-18 17:09

不加参数,使用默认情况,是打开一个新的标签,加上setTimeout后变成了弹出窗口,为什么呢?太好奇了关键。。。

支持(0) 反对(0) doushishenme | 园豆:202 (菜鸟二级) | 2015-06-18 17:15

@doushishenme: 

<html>
<head>
<script type="text/javascript">

setTimeout(function(){window.open("b.html");},2000);

</script>
</head>

<body>

</body>

</html>确认,在chrome浏览器下是打开一个新的标签页。

支持(0) 反对(0) 芝芝07 | 园豆:365 (菜鸟二级) | 2015-06-18 17:30

@LoveBaymax: 首先感谢你的回复,我将你的代码拷到我本地webstorm中,从webstorm中打开网页,发现同样是弹出窗口,而不是标签页,我的chrome是36,默认设置,webstorm是9.0

支持(0) 反对(0) doushishenme | 园豆:202 (菜鸟二级) | 2015-06-18 18:09
0

每个浏览器默认的不同

羽商宫 | 园豆:2493 (老鸟四级) | 2015-06-18 17:31
0

每个浏览器对这个的默认值是不一样的, 也就是说window.open在默认情况下是有默认参数的。

而在你不给参数的情况下,浏览器会帮你给,每个浏览器给的都不尽相同。

window.open具体参数说明:  js window.open 的参数说明

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-06-18 17:45
0

建议可以去http://www.w3school.com.cn上面找找

小熊QQ糖 | 园豆:152 (初学一级) | 2015-06-18 17:52
0

http://www.w3school.com.cn/jsref/met_win_open.asp

psforever | 园豆:461 (菜鸟二级) | 2015-06-19 16:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册