JavaScript метод document.close()
JavaScript DocumentОпределение и применение
JavaScript метод .close() объекта document завершает запись в документ (закрывает поток открытый с помощью метода open() объекта document). Данные в поток могут быть переданы с помощью методов write() или writeln() объекта document.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | 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