Метод Window open()

Определение и использование

open() Метод открывает новый браузерный окно или новую вкладку, в зависимости от настроек вашего браузера и значений параметров.

См. также:

Метод close()

Пример

Пример 1

Откройте "www.codew3c.com" в новом браузерном вкладке:

window.open("https://www.codew3c.com");

Попробуйте сами

Ниже страницы предоставлены дополнительные примеры.

Синтаксис

window.open(параметр specifies the URL., name, features, replace)

Параметр

Параметр описание
параметр specifies the URL.

Опционально. URL страницы, которую нужно открыть.

Если не указано параметр specifies the URL.будет открыто новое пустое окно или вкладка.

name Опционально. Атрибут target или имя окна.
features Опционально. Список элементов, разделенных запятыми, без пробелов.
replace

Устарело.

определяет, создается ли новый элемент или заменяется текущий элемент в списке истории URL.

Поддерживаются следующие значения:

  • true - URL заменяет текущий документ в списке истории
  • false - URL создает новый элемент в списке истории

Предупреждение:Chrome использует replace при вызове параметра будет выведено исключение.

Параметр name поддерживает следующие значения:

значение описание
_blank URL загружается в новый окно или вкладку. По умолчанию.
_parent URL загружается в родительский фрейм.
_self URL заменяет текущую страницу.
_top URL заменяет любую возможную загрузку фреймворка.
name имя окна (не specifies имя окна заголовка).

параметр features поддерживает следующие значения:

значение описание
fullscreen=yes|no|1|0 должен ли браузер отображаться в полноэкранном режиме. По умолчанию нет. В окнах полноэкранного режима также должен быть включен режим кинотеатра. Доступно только в IE.
height=pixels высота окна в пикселях. Минимальное значение 100.
left=pixels левое положение окна (координата X), в пикселях. Не допускаются отрицательные значения.
location=yes|no|1|0 должна ли быть видна строка адреса. Доступно только в Opera.
menubar=yes|no|1|0 должна ли быть видна строка меню.
resizable=yes|no|1|0 может ли окно быть изменено в размерах. Доступно только в IE.
scrollbars=yes|no|1|0 должны ли быть видны полосы прокрутки. Доступно только в IE, Firefox и Opera.
status=yes|no|1|0 должна ли быть добавлена строка состояния.
titlebar=yes|no|1|0 должна ли быть видна строка заголовка. За исключением вызываемого приложения, которое является приложением HTML или доверенным диалогом, иначе будет проигнорировано.
toolbar=yes|no|1|0 должна ли быть видна панель инструментов браузера. Доступно только в IE и Firefox.
top=pixels верхнее положение окна (координата Y), в пикселях. Не допускаются отрицательные значения.
width=pixels ширина окна в пикселях. Минимальное значение 100.

возвратное значение

возвращает ссылку на новый окно, если вызов не удался,则为 null.

технические детали

объяснение

open() метод ищет существующее окно или открывает новый браузерный窗口. Если name параметр specifies an existing window, then returns a reference to that window. The returned window will display параметр specifies the URL. параметр specifies the document, but ignores features параметр. В случае, когда известен только имя окна, это единственный способ, которым JavaScript может получить ссылку на это окно.

Если не указан name параметр, или указанное окно не существует, то open() метод создает новый браузерный窗口. Этот новый窗口 будет показывать параметр specifies the URL. параметр specifies the URL, its name is determined by name размер и элементы управления определяются features Если параметр specifies the URL. если он пустой строки, то open() откроет новый окно.

name параметр specifies the name of the new window. This name can only contain numbers, letters, or underscores. It can be used as a <a> и <form> значение атрибута target, чтобы迫使 документ отображаться в этом указанном окне.

Используя метод Window.open() При загрузке нового документа в существующий指定ный окно, можно передать ему replace параметру, который используется для указания, будет ли новый документ иметь свою запись в истории просмотров окна или заменить текущую запись. Если replace имеет значение true, новый документ заменит старый документ. Если значение false или пропущено, новый документ будет иметь свою запись в истории просмотров окна. Эта функция параметра аналогична Location.replace() метод предоставляемые функции очень похожи.

Не путайте Window.open() метода очень похож на Document.open() метод, чтобы ваш код был ясным и понятным, лучше использовать Window.open(), а не как open(). В событийных обработчиках, определённых как HTML-атрибуты, обычно функцию open() интерпретируют как Document.open()поэтому, в этом случае, необходимо использовать Window.open().

Свойства окна

features параметр является списком свойств, которые должны быть отображены в окне, и они разделены запятыми. Если этот опциональный параметр пуст или пропущен, окно будет отображать все свойства. Однако, если features определяет определенную функцию, то все функции, не указанные в этом списке, не будут отображаться в окне. Важно отметить, что эта строка не содержит任何 пробелов или пробельных символов, и каждый элемент имеет следующий формат:

feature[=value]

Для большинства свойствvalue Значение equals yes или no. После этих свойств и value Значения могут быть пропущены, если появилась эта функция, то предполагается value Значение equals yes, если его не указать, то предполагается value Значение equals no. Однако, для свойств width или height value Значение обязательно, обязательно укажите их пиксельные значения.

Поддержка браузеров

Все браузеры поддерживают open():

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Поддержка Поддержка Поддержка Поддержка Поддержка Поддержка

Более примеров

Пример 2

Откройте страницу about:blank в новом окне/карточке:

var myWindow = window.open("", "", "width=200,height=100");

Попробуйте сами

Пример 3

Откройте новое окно с именем "MsgWindow" и写入一些 текст:

var myWindow = window.open("", "MsgWindow", "width=200,height=100");
myWindow.document.write("<p>This is 'MsgWindow'. I am 200px wide and 100px tall!</p>");

Попробуйте сами

Пример 4

Создайте новое окно, заменив текущее окно:

var myWindow = window.open("", "_self");
myWindow.document.write("<p>Я заменил текущее окно.</p>")}

Попробуйте сами

Пример 5

Открываем новое окно и контролируем его外观:

window.open("https://www.codew3c.com", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");

Попробуйте сами

Пример 6

Открываем несколько вкладок:

window.open("http://www.google.com/");
window.open("https://www.codew3c.com/");

Попробуйте сами

Пример 7

Открываем новое окно. Затем используем close() для закрытия этого нового окна:

function openWin() {
  myWindow = window.open("", "myWindow", "width=200,height=100");   // Открываем новое окно
}
function closeWin() {
  myWindow.close();   // Закрываем это новое окно
}

Попробуйте сами

Пример 8

Открываем новое окно. Используем свойство name для возврата имени нового окна:

var myWindow = window.open("", "MsgWindow", "width=200,height=100");
myWindow.document.write("<p>Имя этого окна: " + myWindow.name + "</p>");

Попробуйте сами

Пример 9

Использование свойства opener для возврата ссылки на окно, создающее новое окно:

var myWindow = window.open("", "myWindow", "width=200,height=100");   // Открываем новое окно
myWindow.document.write("<p>Это 'myWindow'</p>");   // Текст в новом окне
myWindow.opener.document.write("<p>Это окно источника!</p>");  // Создание нового окна с текстом

Попробуйте сами