[This documentation is preliminary and is subject to change.]
Opens a document for writing.
![]() ![]() |
Syntax
var retval = document.open(url, name, features, replace);Standards information
- Document Object Model (DOM) Level 2 HTML Specification, Section 1.5
- HTML5 A vocabulary and associated APIs for HTML and XHTML, Section 3.4.1
Parameters
- url [in, optional]
-
C++ String that specifies the a MIME type for the document. Note If this method is being used to callwindow.open, it specifies the URL of the document to display. If no URL is specified, a new window with about:blank is displayed.
JavaScript Specifies a MIME type for the document. - name [in, optional]
-
Type: BSTR
Note The following applies only if this method is being used to call window.open.
String that specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element.
_blank
-
The url is loaded into a new, unnamed window.
_media
-
In Internet Explorer 6, the url is loaded in the Media Bar.
Starting with Windows XP SP2, this feature is no longer supported. By default, the url is loaded into a new browser window or tab.
_parent
-
The url is loaded into the current frame's parent. If the frame has no parent, this value acts as the value _self.
_search
-
Disabled in Internet Explorer 7, see Security and Compatibility in Internet Explorer 7 for more information.
Otherwise, the url is opened in the browser's search pane starting with Internet Explorer 5.
_self
-
The current document is replaced with the specified url.
_top
-
The loaded url replaces any framesets that might be loaded. If there are no framesets defined, this value acts as the value _self.
- features [in, optional]
-
Type: BSTR
Note The following applies only if this method is being to call window.open.
String that contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "
fullscreen=yes,toolbar=yes"). The following values are supported.channelmode = { yes | no | 1 | 0 }
-
Specifies whether to display the window in theater mode. The default is no.
Internet Explorer 7.
channelmode = { yes | 1 }overrides height, width, top, and left values. When active, the Navigation Bar is hidden and the Title Bar is visible. The Channel Band is no longer supported in Internet Explorer 7.In Internet Explorer 5 and Internet Explorer 6,
channelmode = { yes | 1 }displays the Channel Band in theater mode. directories = { yes | no | 1 | 0 }
-
Internet Explorer 7. This value is no longer supported.
In Internet Explorer 6, directories specify whether to add directory buttons. The default is yes.
fullscreen = { yes | no | 1 | 0 }
-
Specifies whether to display the browser in full-screen mode. The default is no. Use full-screen mode carefully. Because this mode hides the browser's title bar and menus, always provide a button or other visual clue to help the user close the window. ALT+F4 closes the new window.
Internet Explorer 7. A window in full-screen mode doesn't need to be in theater mode.
In Internet Explorer 5 and Internet Explorer 6, a window in full-screen mode must also be in theater mode (channelmode).
height = number
-
Internet Explorer 7. Sets the height of the window in pixels. The minimum value is
150, and specifies the minimum height of the browser content area.In Internet Explorer 5 and Internet Explorer 6, the minimum height value is
100. left = number
-
Specifies the left position, in pixels. This value is relative to the upper-left corner of the screen. The value must be greater than or equal to 0.
location = { yes | no | 1 | 0 }
-
Internet Explorer 7. Specifies whether to display the Navigation Bar. The default is yes.
In Internet Explorer 5 and Internet Explorer 6, location specifies whether to display the Address Bar.
The Back, Forward, and Stop commands are now located in the Navigation Bar.
In Internet Explorer 5 and Internet Explorer 6, the navigation commands were located in the toolbar.
menubar = { yes | no | 1 | 0 }
-
Specifies whether to display the Menu Bar. The default is yes.
Internet Explorer 7. By default, the menu bar is hidden unless revealed by the ALT key.
menubar = { no | 0 }prohibits the Menu Bar from appearing even when the ALT key is pressed.The combination of
menubar = { no | 0 }andtoolbar = { no | 0 }hides the toolbar and disables any additional third-party user interfaces. resizable = { yes | no | 1 | 0 }
-
Specifies whether to display resize handles at the corners of the window. The default is yes.
Internet Explorer 7.
resizable = { no | 0 }disables tabs in a new window. scrollbars = { yes | no | 1 | 0 }
-
Specifies whether to display horizontal and vertical scroll bars. The default is yes.
status = { yes | no | 1 | 0 }
-
Specifies whether to add a Status Bar at the bottom of the window. The default is yes.
titlebar = { yes | no | 1 | 0 }
-
Specifies whether to display a Title Bar for the window. The default is yes.
Starting with Internet Explorer 5.5, this value is no longer supported. The Title Bar remains visible unless the sFeatures
fullscreenvalue is active (fullscreen= { yes | 1 }) .This value is ignored in Internet Explorer 5. It applies only if the calling application is an HTML Application or a trusted dialog box.
toolbar = { yes | no | 1 | 0 }
-
Internet Explorer 7. Specifies whether to display the browser Command Bar, making buttons such as Favorites Center, Add to Favorites, and Tools available. The default is yes.
The combination of
menubar = { no | 0 }andtoolbar = { no | 0 }turns off the toolbar and any additional third-party user interfaces.In Internet Explorer 5 and Internet Explorer 6, the toolbar sFeatures specifies whether to display the browser toolbar, making buttons such as Back, Forward, and Stop available.
top = number
-
Specifies the top position, in pixels. This value is relative to the upper-left corner of the screen. The value must be greater than or equal to 0.
width = number
-
Internet Explorer 7. Sets the width of the window in pixels. The minimum value is
250, and specifies the minimum width of the browsers content area.In Internet Explorer 5 and Internet Explorer 6, the minimum height value is
100.
- replace [in, optional]
-
C++ Boolean that specifies whether the existing entry for the document is replaced in the history list. Note If this method is used to callwindow.open, it specifies whether the url creates a new entry or replaces the current entry in the window's history list. This parameter only takes effect if the url is loaded into the same window.
JavaScript Specifies whether the existing entry for the document is replaced in the history list.
Return value
Type: ObjectReturns a reference to the new document object. Use this reference to access properties and methods of the document.Examples
The following example shows how to use the open method to replace the current document with a new document and display the HTML markup contained in the variable sMarkup.
<html>
<head>
<title>First Document</title>
<script>
function replace(){
var oNewDoc = document.open("text/html", "replace");
var sMarkup = "<html><head><title>New Document</title></head><body>Hello, world</body></html>";
oNewDoc.write(sMarkup);
oNewDoc.close();
}
</script>
</head>
<body>
<h1>I just want to say</h1><br>
<!--Button will call the replace function and replace the current page with a new one-->
<input type ="button" value = "Finish Sentence" onclick="replace();">
</body>
</html>
See also
Build date: 3/8/2012
Since { document.open } erases the page, stored references to elements in the document tree become inaccessible, and any attempt to access them causes a script error.
When the document currently loaded is an XML document, open/write/close silently fail.
On MSIE-6?/7?-variants (eg. "Public Web Browser")...
A Window closed manually-X-off during Save (possible if the document has jscript errors: its Dialog box separates 'modeless' from its document Window and whence Window can be X-off'ed), is vulnerable to hangup ('tonk'; absent from alt-tab-list; doesn't respond to {ESC} {ENTER}, but, {Fn}, jscripted-accelerator-keys {CTRL} work, yet-still the webpage remains hungup:
(eg. a run of document.writes in the same new window: reusing the window)
e.g.
var windobj=open();
var docobj=windobj.document;
docobj.write('<HTML>...</HTML>');
docobj.execCommand('SaveAs',true,'script');
docobj.close();
//Public Web Browser is now hungup - if the Window has been X-off'ed
windobj.close()
(Public Web Browser is believed to be a TeamSoftware Solutions product based on MSIE.)
When IE7 opens a window with the window.open method AND the current page is in the first tab, you will lose your session data and users will have to log in again after they close the open window. Interestingly, the session IDs are the same on both tabs but, for some reason, IE doesn't allow the persistence of the session data. This DOES NOT happen if the user hapens to be in tab 2, tab 3, ...etc. This bug does not appear in the other tabbed browsers. Anybody have a solution? I tried multiple methods but the only method that I think might work is to test for IE and the first tab and load the page in another tab.
Using the example given in this reference.....
<html>
<head>
<title>First Document</title>
<script>
function replace(){
var oNewDoc = document.open("text/html", "replace");
var sMarkup = "<html><head><title>New Document</title></head><body>Hello, world</body></html>";
oNewDoc.write(sMarkup);
oNewDoc.close();
}
</script>
</head>
<body>
<h1>I just want to say</h1><br>
<!--Button will call the replace function and replace the current page with a new one-->
<input type ="button" value = "Finish Sentence" onclick="replace();">
</body>
</html>
....
not only does the new window not replace the old one, but after loading the new document the browser (IE7 at least) immediatly navigates back to the first document.
sName cannot have whitespace in it. I haven't checked, but probably it is restricted to being an identifier. This differs from Firefox's implementation that permits spaces.
You can use .open method to open a window without toolbars, menubars, etc. To do this:
<script language="javascript" type="text/javascript">
function open_it(){
//this opens a new window without toolbars, menubars, etc.
lovechild = window.open(file_you_want_to_open.html", "lovechild","height=400,width=200,resizable=0,menubar=0,toolbar=0,location=0,directories=0,scrollbars=0,status=0")
//this sets the opener of the first opened window to the new window you just opened
this.opener=lovechild
//this pauses, then closes the window you first opened
setTimeout("self.close();",5000)
}
</script>
</head>
<body onload="open_it()">
</body>

