js 如何关上新标签页(window.open利用)

在标签中通过设置target="_blank"就能够实现关上新标签的成果。但有时候咱们须要通过Javascript来关上新标签,那么怎么

实现呢?办法如下:

window.open("https://segmentfault.com");

或者:

window.open("https://segmentfault.com", "_blank"); //留神第二个参数

有人或者会感觉奇怪,window.open()不是用来关上新窗口的麽,怎么还能够关上新标签啊?其实只有在window.open()中指定了第三个属性

(即新窗口的特色)时浏览器才会关上新的窗口,在没指定第三个属性时只会在以后窗口关上新的标签(在IE中,如果要关上的URL与以后

页面URL不属于同一个主域名则关上新窗口;在Chrome中,如果window.open()函数不是被鼠标键盘事件调用的,而是页面间接调用或通过

定时器等调用的,则关上新窗口而非标签)。此外,上面实用于标签的target参数同样实用于window.open()的name参数:

注意事项:

1.在IE中,如果要关上的域名和以后域名不属于同一个主域名,则会在新的窗口中关上(标签也是这样)。

2. 在Chrome中,如果window.open()函数不是被鼠标键盘事件调用的,而是页面间接调用或通过定时器(包含鼠标键盘触发的定时器)等

调用的,则关上新窗口而非标签。

2.在新窗口或新标签中,window.open()的_parent和_top参数是有效的(只有在frame中时无效)。

3.framename参数能够设置为以后页面内的frame的name值、新窗口的name值,或者新标签的name值。

【补充阐明】

window.open( url,target,init); //URL 代表 页面地址; Target 代表 目标框架

1、在新标签/页面中关上链接

window.open('https://segmentfault.com','target','');

2、在以后页面中关上链接

(1)window.open('https://segmentfault.com','_self','');

(2)window.location.href='https://segmentfault.com';