Статьи

javascript - Відкрийте URL-адресу на новій вкладці (а не в новому вікні), використовуючи JavaScript - Qaru

  1. Internet Explorer (11)
  2. сторінка тестування

Різні браузери реалізують поведінку window.open по-різному, особливо щодо переваг браузера користувача. Ви не можете очікувати того ж поведінки для window.open, щоб бути правдою у всіх браузерах Internet Explorer, Firefox і Chrome через різних способів обробки налаштувань браузера.

Наприклад, користувачі Internet Explorer (11) можуть відкривати спливаючі вікна в новому вікні або нову вкладку, ви не можете змусити Internet Explorer 11 користувачів відкривати спливаючі вікна певним чином через. > Window.open, як зазначено в Quentin answer .

Як і для користувачів Firefox (29), використання window.open (url, '_blank') залежить від налаштувань вкладки браузера, хоча ви можете змусити їх відкривати спливаючі вікна в новому вікні, вказавши ширину і висоту (см. "Що таке Chrome? "Нижче).

Перейдіть в налаштування свого браузера і налаштуйте його для відкриття спливаючих вікон в новому вікні.

Internet Explorer (11)

Internet Explorer (11)

сторінка тестування

Після настройки Internet Explorer (11) для відкриття спливаючих вікон в новому вікні, як показано вище, використовуйте наступну тестову сторінку для тестування window.open:

<! DOCTYPE html> <html> <head> <title> Test </ title> </ head> <body> <button onclick = "window.open ( 'https://stackoverflow.com/q/4907843/456814' ); "> <code> window.open (url) </ code> </ button> <button onclick =" window.open ( 'https://stackoverflow.com/q/4907843/456814', '_blank') ; "> <code> window.open (url, '_blank') </ code> </ button> </ body> </ html>

Зверніть увагу, що спливаючі вікна відкриваються в новому вікні, а не в новій вкладці.

Ви також можете протестувати ці фрагменти вище в Firefox (29) з налаштуванням вкладки, встановленої в нові вікна, і побачити ті ж результати.

Я не впевнений на 100%, але схоже, що Chrome (версія 34.0.1847.131 m) не має ніяких налаштувань, які користувач може використовувати, щоб вибрати, чи відкривати спливаючі вікна в новому вікні або нову вкладку (наприклад, Firefox і Internet Explorer) . Я перевірив документацію Chrome для управління спливаючими вікнами , Але в цьому нічого не згадував.

Крім того, ще раз, різні браузери, схоже, по-різному реалізують поведінку window.open. . У Chrome і Firefox із зазначенням ширини і висоти буде спливаюче вікно, навіть коли користувач встановив Firefox (29), щоб відкрити нові вікна на новій вкладці (як зазначено у відповідях на JavaScript в новому вікні, а не вкладка ):

<! DOCTYPE html> <html> <head> <title> Test </ title> </ head> <body> <button onclick = "window.open ( 'https://stackoverflow.com/q/4907843/456814' , 'test', 'width = 400, height = 400'); "> <code> window.open (url) </ code> </ button> </ body> </ html>

Однак, той же фрагмент коду вище завжди буде відкривати нову вкладку в Internet Explorer 11, якщо користувачі встановлять вкладки в якості своїх налаштувань браузера,, навіть не вказуючи ширину і висоту, змусять нове вікно popup для них.

Таким чином, поведінка window.open в Chrome, мабуть, полягає в тому, щоб відкривати спливаючі вікна в новій вкладці при використанні в подію onclick, щоб відкрити їх в нових вікнах при використанні з консолі браузера ( як було зазначено іншими людьми ), І відкрити їх в нових вікнах, коли вони вказані з шириною і висотою.

Різні браузери реалізують поведінку window.open по-різному щодо переваг браузера користувачів. Ви не можете очікувати, що однакове поведінка для window.open буде істинним у всіх Internet Explorer, Firefox і Chrome, через різних способів обробки налаштувань браузера.

Що таке Chrome?

Новости