Делает ли windowName "_blank" что-нибудь полезное в современных браузерах? - PullRequest
0 голосов
/ 09 мая 2019

Я знаю, что якорные элементы имеют атрибут target="_blank", который открывает страницы в новом окне.

В последнее время, однако, я видел код по всей моей кодовой базе и в сети, который использует "_blank" в качестве параметра windowName window.open API.

Документы, на которые есть ссылки, на самом деле упоминают "_blank":

Для открытия нового окна при каждом вызове window.open() используйте специальное значение _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" устанавливает имя окна на "", что делает открытие окна без параметра имени окна:

const w = window.open("https://google.com", "_blank");
w.name; // ""

Все это, как говорится, есть причина для "_blank" в качестве параметра имени окна для window.open, или это должно быть зарезервировано для целевого элемента привязки, и если window.open(url, "_blank") вызовы должны быть заменены на window.open(url)

Документы устарели?

...