JavaScript метод document.close()

JavaScript Document

Определение и применение

JavaScript метод .close() объекта document завершает запись в документ (закрывает поток открытый с помощью метода open() объекта document). Данные в поток могут быть переданы с помощью методов write() или writeln() объекта document.

Поддержка браузерами

МетодChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
document.close()ДаДаДаДаДаДа

JavaScript синтаксис:

document.close()

Спецификация

Document Object Model (DOM) Level 1

Пример использования

<!DOCTYPE html>
<html>
	<head>
		<title>Пример создания документа в новом окне</title>
	</head>
	<body>
		<button onclick = "myFunc()">Нажми меня</button> <!-- добавляем атрибут событий onclick -->
		<script>
	function myFunc() {
	  let newWindow = window.open(), // метод позволяет открыть новое окно браузера
	      newWindowDocument = newWindow.document; // ссылаемся на объект document в новом открытом окне
	  // открываем поток для записи документа
	  newWindowDocument.open("text/html", "replace"); 
	  // используем метод write
	  newWindowDocument.write("<html><head><title>My document</title></head><body>");
	  newWindowDocument.write("<h1>Hello</h1>");
	  newWindowDocument.write("<pre>");
	  newWindowDocument.write("1");
	  newWindowDocument.write("2");
	  newWindowDocument.write("3<br>");
	  // используем метод writeln
	  newWindowDocument.writeln("1");
	  newWindowDocument.writeln("2");
	  newWindowDocument.writeln("3");
	  // используем метод write
	  newWindowDocument.write("</pre>");
	  newWindowDocument.write("</body></html>");
	  // закрываем поток 
	  newWindowDocument.close(); 
	}
		</script>
	</body>
</html>

В этом примере с использованием атрибута событий onclick при нажатии на кнопку (HTML элемент <button>) вызываем функцию myFunc(), которая с использованием JavaScript метода .open() объекта window открывает новое окно браузера, а с помощью метода open() объекта document открывает поток для записи этого документа. В этот документ с помощью методов write() и writeln() записываем в поток необходимые строки текста.

Основное отличие методов write() и writeln() заключается в том, что метод writeln() дополнительно добавляет символ новой строки. Это полезно, например, при работе с HTML элементом <pre>, который сохраняет как пробелы, так и разрывы строк.

После того как мы записали в документ необходимое текстовое содержимое, мы с помощью метода .close() объекта document закрываем поток открытый с помощью метода open() объекта document.

Обратите внимание, что мы дополнительно передали в метод open() объекта document два аргумента, первый определяет тип документа ("text/html" - HTML документ по умолчанию), а второй аргумент соответствует значению "replace", которое указывает, что пользователь, если перейдет в открытом окне на новую страницу не сможет обратно на неё вернуться (кнопка браузера "назад" будет не активна).

Результат нашего примера:

Пример создания документа в новом окне
Пример создания документа в новом окне
JavaScript Document