Javascript function write text

HTML DOM Document write()

Write some HTML elements directly to the HTML output:

document.write(«

Hello World!

Have a nice day!

«);

Using document.write() after a document is loaded, deletes all existing HTML:

Description

The write() method writes directly to an open (HTML) document stream.

Warning

The write() method deletes all existing HTML when used on a loaded document.

The write() method cannot be used in XHTML or XML.

Note

The write() method is most often used to write to output streams opened by the the open() method.

See Also:

Syntax

Parameters

Parameter Description
exp1. Optional.
The output stream.
Multiple arguments are appended to the document in order of occurrence.

Return Value

More Examples

Write a date object directly to the HTML ouput:

Open an output stream, add some HTML, then close the output stream:

document.open();
document.write(«

Hello World

«);
document.close();

Open a new window and write some HTML into it:

const myWindow = window.open();
myWindow.document.write(«

Читайте также:  Open python что делает

New Window

«);
myWindow.document.write(«

Hello World!

«);

The Difference Between write() and writeln()

The writeln( ) method is only useful when writing to text documents (type=».txt»).

Example

document.write(«Hello World!»);
document.write(«Have a nice day!»);
document.write(«
«);
document.writeln(«Hello World!»);
document.writeln(«Have a nice day!»);

Note

It makes no sense to use writeln() in HTML.

It is only useful when writing to text documents (type=».txt»).

Newline characters are ignored in HTML.

If you want new lines in HTML, you must use paragraphs or
:

Examples

document.write(«

Hello World!

«);
document.write(«

Have a nice day!

«);

Browser Support

document.write is supported in all browsers:

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes Yes

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

Всё только о JavaScript

document.write(arg1[, arg2[, arg3[, . ]]]) — метод, выводящий на страницу переданные ему аргументы. Аргументов может быть любое количество, и они могут быть любых типов, при выводе они преобразуются в строки.

Также существует функция document.writeln , которая аналогична document.write , но добавляет в конце своего вывода перевод строки.

Читайте также:  Bytecode to java decompiler

Как работает document.write

document.write выводит свои аргументы после того тега script , в котором он был вызван. К примеру код

Обратите внимание: не после того тега script , в котором записано выражение document.write , а после того, в котором оно было вызвано. Следующий код

     

document.write работает только на этапе загрузки страницы, его нельзя вызывать в ответ на какое-нибудь событие. Если document.write вызвать после того, как страница загрузилась, результат во всех браузерах будет примерно одинаков — пустая страница и, возможно, тот текст, который был выведен последним document.write . Поэтому даже не пытайтесь использовать его в ответ на какие-то действия пользователя, только на этапе загрузки страницы.

Вывод скриптов

Как и любое другое содержимое, document.write может выводить и скрипты, которые тоже в свою очередь могут содержать document.write . Но нужно помнить: внедрённые в HTML скрипты не могут содержать внутри себя в явном виде строку . Нужно или разорвать этот тег на части ‘‘ , или заменить какой-нибудь символ на escape-последовательность . В скриптах, содержащихся во внешних файлах, такие манипуляции не требуются.

      

Если вложенные скрипты тоже, в свою очередь, содержат document.write , то всё будет выведено последовательно.

       

Результат на странице будет

Создаём первый скрипт.
Первый скрипт
Создаём второй скрипт.
Второй скрипт
Закончили.

Однако такая последовательность сохраняется до тех пор, пока мы не решим подключить внешние скрипты, выводящие текст на страницу. Создадим, например, файл test1.js с содержимым

document.write('Содержимое test1.js
');

И файл test2.js с содержимым

document.write('Содержимое test2.js
');

Тогда результат работы скриптов на следующей странице будет различаться в различных браузерах.

       

В Firefox и Safari выведется ожидаемое

Подключаем test1.js
Содержимое test1.js
Подключаем test2.js
Содержимое test2.js
Закончили подключать

А вот Opera, Chrome и Internet Explorer поведут себя в какой-то мере логично, но не последовательно.

Подключаем test1.js
Подключаем test2.js
Закончили подключать
Содержимое test1.js
Содержимое test2.js

Другими словами, если Firefox и Safari обрабатывают появляющиеся скрипты последовательно, независимо от того, внешние они или внедрёные, то Opera, Chrome и IE выполняют внешние созданные динамически скрипты только после того, как выполнится текущий блок .

Поэтому, если вы кроссбраузерно хотите динамически подключить внешний скрипт и выполнить какие-нибудь действия после того, как он отработает, то эти действия необходимо также выносить во внешний файл.

Разный результат в разных браузерах:

       

Одинаковый результат во всех браузерах:

       
document.write('Закончили подключать
');

Примеры ошибочного использования

Как было сказано выше, document.write выводит текст только во время загрузки страницы. В этом и заключается основная ошибка многих начинающих JavaScript-программистов — они пытаются использовать document.write в ответ на пользовательские события, например, onclick , в результате чего получают пустую страницу.

Запомните, если вы хотите изменить содержимое блока, то нужно найти этот блок в DOM-дереве, например, по его идентификатору, и изменить у него свойство innerHTML .

document.getElementById('content').innerHTML = 'Новое содержимое'; 

Область применения

Области применения у document.write две: создать новый документ с нуля и сгенерировать динамический контент в том самом месте, где находится родительский элемент script . Всё остальное вариации этих двух случаев.

Генерация нового документа

Если нужно открыть новое окно или создать новый фрейм, содержимое которых не загружается с какого-то урла, а должно генерироваться динамически, то самый простой способ — это написать содержимое нового документа с помощью document.write .

var w = window.open(); w.document.open(); // Открываем документ для записи w.document.writeln(''); w.document.write(' Это динамическое окно.'); w.document.close(); // Заканчиваем формирование документа 

Обратите внимание на вызов метода close , пока он не вызван, браузер считает, что документ ещё не до конца загружен, и не убирает индикатор загрузки.

Вывод динамического содержимого на этапе загрузки

Под таким сложным заголовком скрывается простая вещь. Предположим мы хотим выводить на странице текущий день недели. Тогда в то место, где он должен находиться, нужно вставить следующий код.

Сегодня . 

Несмотря на предрассудки по отношению к document.write , это самый простой способ, в отличие от DOM-методов, и в подобных случаях он более чем уместен.

Информеры для внешних сайтов

Ещё одна область применения для document.write — предоставление кодов сторонним сайтам для вывода различных виджетов, информеров, банеров, контекстных объявлений и прочих подобных вещей. Смысл здесь в том, чтобы предоставить неискушённому пользователю код, который он сможет без лишних движений поставить в то место, где должен появляться соответствующий блок. Тогда пользователю выдаётся простой код в виде тега script и, возможно, инициализации каких-то параметров.

А в этот скрипт уже выдаётся код, который создаёт нужный html-код.

Источник

document: write() method

Warning: Use of the document.write() method is strongly discouraged.

The document.write() method writes a string of text to a document stream opened by document.open() .

Note: Because document.write() writes to the document stream, calling document.write() on a closed (loaded) document automatically calls document.open() , which will clear the document.

Syntax

Parameters

A string containing the text to be written to the document.

Return value

Examples

html lang="en"> head> title>Write exampletitle> script> function newContent()  document.open(); document.write("

Out with the old, in with the new!

"
); document.close(); >
script> head> body onload="newContent();"> p>Some original document content.p> body> html>

Notes

The text you write is parsed into the document's structure model. In the example above, the h1 element becomes a node in the document.

Writing to a document that has already loaded without calling document.open() will automatically call document.open() . After writing, call document.close() to tell the browser to finish loading the page.

If the document.write() call is embedded within an inline HTML tag, then it will not call document.open() . For example:

script> document.write("

Main title

"
);
script>

Note: document.write() and document.writeln do not work in XHTML documents (you'll get an "Operation is not supported" [ NS_ERROR_DOM_NOT_SUPPORTED_ERR ] error in the error console). This happens when opening a local file with the .xhtml file extension or for any document served with an application/xhtml+xml MIME type. More information is available in the W3C XHTML FAQ.

Note: Using document.write() in deferred or asynchronous scripts will be ignored and you'll get a message like "A call to document.write() from an asynchronously-loaded external script was ignored" in the error console.

Note: In Edge only, calling document.write() more than once in an causes the error "SCRIPT70: Permission denied".

Note: Starting with version 55, Chrome will not execute elements injected via document.write() when specific conditions are met. For more information, refer to Intervening against document.write().

Specifications

Browser compatibility

BCD tables only load in the browser

See also

Found a content problem with this page?

This page was last modified on Apr 7, 2023 by MDN contributors.

Your blueprint for a better internet.

MDN

Support

Our communities

Developers

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.

Источник

Оцените статью