--- title: Document.write() slug: Web/API/Document/write tags: - API - DOM - Documentación - Referencia - metodo translation_of: Web/API/Document/write --- <div>{{ ApiRef("DOM") }}</div> <p><br> Escribe una cadena de texto dentro del hilo de un <code>document </code>abierto por <a href="/en-US/docs/Web/API/document.open">document.open()</a>.</p> <div class="note">Nota: dado que <code>document.write</code> escribe directo al hilo<strong> (stream</strong>) de un documento, la llamada a <code>document.write</code> en un documento ya cargado automáticamente ejecuta <code>document.open</code>, <a href="https://developer.mozilla.org/en-US/docs/Web/API/document.open#Notes">lo cual limpiará todo el contenido del documento en cuestión</a>.</div> <h2 id="Sintaxis">Sintaxis</h2> <pre class="brush: js">document.write(texto); </pre> <p><code>texto </code>es una cadena de texto que contiene el texto a ser impreso en el documento.</p> <h3 id="Example">Example</h3> <pre class="brush: html"><html> <head> <title>Ejemplo de write</title> <script> function nuevoContenido() { alert("carga el contenido nuevo"); document.open(); document.write("<h1>Quita el contenido viejo - Agrega el contenido nuevo!</h1>"); document.close(); } </script> </head> <body onload="nuevoContenido();"> <p>Algo de contenido original del documento</p> </body> </html></pre> <h2 id="Notas">Notas</h2> <p>Escribir a un documento que ya tiene contenido cargado previamente sin llamar a <a href="/en-US/docs/Web/API/document.open"><code>document.open()</code></a>, automáticamente hará una llamada a document.open(). Después de haber finalizado la escritura del documento, es recomendable llamar a <a href="/en-US/docs/Web/API/document.close"><code>document.close()</code></a>, para informar al navegador que la carga de la página ya ha terminado. El texto que escribas allí es convertido a la estructura tipificada de HTML dentro del modelo estructural del documento. En el ejemplo de más arriba, el elemento h1 se convierte en un nodo dentro del documento.</p> <p>Si la llamada a document.write() se ejecuta dentro de una etiqueta <code><script></code> incluído en el HTML, entonces la llamada a document.open() nunca ocurrirá. Por ejemplo:</p> <pre class="brush: html"><script> document.write("<h1>Título Principal</h1>") </script> </pre> <div class="note"><strong>Nota:</strong> <code>document.write</code> y <code>document.writeln</code> <a href="/en-US/docs/Archive/Web/Writing_JavaScript_for_HTML">no funcionan dentro de un documento XHTML</a> (obtendrás un mensaje de error que dice "Operación no soportada" ("Operation is not supported") [<code>NS_ERROR_DOM_NOT_SUPPORTED_ERR</code>] en la consola). Esto sucede cuando abrimos un archivo local de extensión .xhtml o para cualquier document servido con un <a href="/en-US/docs/Glossary/MIME_type">MIME del tipo </a><code>application/xhtml+xml</code>. Hay más información disponible en <a class="external" href="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite">W3C XHTML FAQ</a>.</div> <div class="note"><strong>Nota:</strong> <code>document.write</code> en scripts de modo <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer">diferido</a> o <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async">asyncrónico</a> serán ignorados, y recibirás un mensaje de error en la consola del tipo "Una llamada a document.write() desde un script cargado asincrónicamente fue ignorado" ("A call to <code>document.write()</code> from an asynchronously-loaded external script was ignored").</div> <h2 id="Especificaciones">Especificaciones</h2> <ul> <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75233634">DOM Level 2 HTML: <code>write()</code> Method</a></li> <li><a class="external" href="http://www.w3.org/TR/2011/WD-html5-author-20110705/apis-in-html-documents.html#dynamic-markup-insertion">Dynamic markup insertion in HTML</a></li> </ul> <h2 id="También_puedes_ver">También puedes ver</h2> <ul> <li>{{ domxref("element.innerHTML") }}</li> <li>{{ domxref("document.createElement()") }}</li> </ul>