The Document.open()
method opens a document for writing.
Syntax
document.open();
Example
// In this example, the document contents are // overwritten as the document // is reinitialized on open(). document.write("<html><p>remove me</p></html>"); document.open(); // document is empty.
Notes
If a document exists in the target, this method clears it (see the example above).
Also, an automatic document.open()
call happens when document.write() is called after the page has loaded, but that's not defined in the W3C specification. document non-spec'ed parameters to document.open
Do not confuse this method with window.open(). document.open
allows you to overwrite the current document or append to it, while window.open
provides a way to open a new window, leaving the current document intact. Since window
is the global object, just calling open(...)
does the same as window.open(...)
.You can close the opened document using document.close().
See Security check basics for more about principals.
Specifications
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 2 HTML Specification The definition of 'document.open()' in that specification. |
Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | ? | ? | ? | ? |
Gecko-specific notes
Starting with Gecko 1.9, this method is subject to the same same-origin policy as other properties, and does not work if doing so would change the document's origin.
Starting with Gecko 1.9.2, document.open()
uses the principal of the document whose URI it uses, instead of fetching the principal off the stack. As a result, you can no longer call document.write()
into an untrusted document from chrome, even using wrappedJSObject
.