我知道锚元素具有target="_blank"
属性,可以在新窗口中打开页面。
但是,最近我一直在代码库和在线上看到使用"_blank"
作为window.open
API的windowName
parameter的代码。
上面链接的文档实际上提到了"_blank"
:
要在每次调用
window.open()
时打开 new 窗口,请对_blank
使用特殊值strWindowName
。
但是,在我刚刚在IE11和Chrome74中进行的简短测试中,将window.open
的窗口名称参数设置为"_blank"
并不会实际上迫使页面进入单独的窗口,除非 您可以像这样配置窗口尺寸:
window.open("https://google.com", "_blank", "width=500");
实际上,具有自定义窗口名称的窗口是这样:
window.open("https://google.com", "a"); // opens in a new tab
window.open("https://google.com", "a", "width=500"); // opens in a new window
此外,将名称设置为"_blank"
会将窗口名称设置为""
,这就是打开没有window name参数的窗口的作用:
const w = window.open("https://google.com", "_blank");
w.name; // ""
话虽如此,是否有理由将"_blank"
作为窗口名参数提供给window.open
,还是应该保留给锚元素目标,并且应该window.open(url, "_blank")
调用被window.open(url)
取代?
文档过时了吗?