Я использовал window.open('')
с '_blank'
в качестве второго параметра, чтобы открыть ссылку на новой вкладке. Например. window.open('http://google.com', '_blank')
Но недавно я добавил третий параметр 'noopener'
, чтобы window.opener
стал нулевым на новой вкладке, а новая вкладка не имела доступа к родительской вкладке/окну. то есть window.opener
есть null
window.open('http://google.com', '_blank', 'noopener')
Таким образом, приведенный выше код решил проблему безопасности, но вместо открытия новой вкладки начало открываться новое окно, чего я не ожидал. Настройки моего браузера были такими же, и в него не вносились никакие изменения.
Есть ли что-нибудь, что я могу сделать, чтобы этот код открывал новую вкладку вместо нового окна? Я не хочу удалять noopener
в качестве третьего параметра
noopener=1/true/yes
. Похоже, что все остальные функции окна будут каким-то образом связаны с окном с хромом, иnoopener
— единственная, которая на самом деле полезна также и во вкладках. Возможно, это было забыто в реализациях браузера, и когда аргумент windowFeature присутствует, окно будет автоматически открыто в новом окне вместо вкладки. Я сделал небольшой тест с FF, и он открывает новое окно, если присутствует аргумент windowFeatures, значение аргумента не имеет значения, оно может быть даже тарабарщиной... - person Teemu   schedule 14.03.2018