330 out of 500 rated this helpful Rate this topic

open Method

.NET Framework 3.0

Opens a new window and loads the document specified by a given URL.

Syntax

oNewWindow = object.open( [sURL] [, sName] [, sFeatures] [, bReplace])

Parameters

sURL Optional. String that specifies the URL of the document to display. If no URL is specified, a new window with about:blank is displayed.
sName Optional. 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 sURL is loaded into a new, unnamed window.
_media

In Microsoft Internet Explorer 6, the sURL is loaded in the Media Bar.

Windows XP Service Pack 2 (SP2) and later. This feature is no longer supported. By default, the sURL is loaded into a new browser window or tab.

_parent
The sURL is loaded into the current frame's parent. If the frame has no parent, this value acts as the value _self.
_search

Disabled in Windows Internet Explorer 7, see Security and Compatibility in Internet Explorer 7 for details.

Otherwise, the sURL is opened in the browser's search pane in Internet Explorer 5 or later.

_self
The current document is replaced with the specified sURL.
_top
sURL replaces any framesets that may be loaded. If there are no framesets defined, this value acts as the value _self.
sFeatures Optional. 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 specifies 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, you should 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 does not 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 } and toolbar = { 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.

Internet Explorer 5.5 and later. This value is no longer supported. The Title Bar remains visible unless the sFeaturesfullscreen value 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 } and toolbar = { 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.

bReplace Optional. Boolean that specifies whether the sURL creates a new entry or replaces the current entry in the window's history list. This parameter only takes effect if the sURL is loaded into the same window.
true
sURL replaces the current document in the history list.
false
sURL creates a new entry in the history list.

Return Value

Returns a reference to the new window object. Use this reference to access properties and methods on the new window.

Internet Explorer 7 on Windows Vista: Opening a new window from an application (other than the Internet Explorer process) may result in a null return value. This restriction occurs because Internet Explorer runs in protected mode, by default. One facet of protected mode prevents applications from having privileged access to Internet Explorer when that access spans process boundaries. Opening a new window by using this method generates a new process. For more information about protected mode, see Understanding and Working in Protected Mode Internet Explorer. This commonly occurs for applications that host the WebBrowser control.

Remarks

By default, the open method creates a window that has a default width and height and the standard menu, toolbar, and other features of Internet Explorer. You can alter this set of features by using the sFeatures parameter. This parameter is a string consisting of one or more feature settings.

When the sFeatures parameter is specified, the features that are not defined in the parameter are disabled. Therefore, when using the sFeatures parameter, it is necessary to enable all the features that are to be included in the new window. If the sFeatures parameter is not specified, the window features maintain their default values. In addition to enabling a feature by setting it to a specific value, simply listing the feature name also enables that feature for the new window. Most of the sFeatures specified in the window.open method are ignored if user has selected, "Always open pop-ups in a new tab" setting in the Internet options control panel.

When a function fired by an event on any object calls the open method, the window. open method is implied.


<script language="JScript">
function myOpen() {
    open('about:blank');}
</script>
<body onclick="myOpen();">
Click this page and window.open() is called.
</body>

When an event on any object calls the open method, the document. open method is implied.


<button onclick="open('Sample.htm');">
Click this button and document.open() is called.
</button>

Internet Explorer 8. New windows and pop-ups always inherit the zoom level of the parent window.

Internet Explorer 7. The Back , Forward , and Stop commands are now located in the Navigation bar of the user interface. Prior to Internet Explorer 7 navigation commands were located in the toolbar.

Internet Explorer 7 on Windows Vista. Opening a new window from an application other than the Internet Explorer process may result in a NULL return value. This occurs because Internet Explorer runs in protected mode by default. Protected mode prevents applications from privileged access to Internet Explorer when that access spans process boundaries. Because this method opens windows in a new process, protected mode restricts access to the new window. For more information, please see Understanding and Working in Protected Mode Internet Explorer.

Internet Explorer 6 for Windows XP SP2 places several restrictions on windows created with this method. For several of the parameter values listed in the Parameters table, these restrictions are indicated by the minimum value. For more information, see About Window Restrictions.

This method must use a user-initiated action, such as clicking on a link or tabbing to a link and pressing enter, to open a pop-up window. The Pop-up Blocker feature in Internet Explorer 6 blocks windows that are opened without being initiated by the user. The Pop-up Blocker also prevents windows from appearing if you call this method from an onunload event.

In Internet Explorer 6, the _media value of the sName parameter specifies that this method loads a URL into the HTML content area of the Media Bar.

Internet Explorer 5 allows further control over windows through the implementation of title in the sFeatures parameter of the open method. Turn off the title bar by opening the window from a trusted application, such as Microsoft Visual Basic or an HTML Application (HTA). These applications are considered trusted, because each uses Internet Explorer interfaces instead of the browser.

Example

This example uses the open method to create a new window that contains Sample.htm. The new window is 200 pixels by 400 pixels and has a status bar, but it does not have a toolbar, menu bar, or address field.


window.open("Sample.htm",null,
    "height=200,width=400,status=yes,toolbar=no,menubar=no,location=no");

Standards Information

There is no public standard that applies to this method.

Applies To

window, Window Constructor

See Also

About the Pop-up Blocker
Did you find this helpful?
(2000 characters remaining)
Community Content Add
Annotations FAQ
Width and Height not quite right?
On the window.resizeTo page, commentor painnick notes the following, which I've found to be true:

width/height parameters on window.open() method means content-size.(exclude title-bar and status-bar etc...)

but

width/height parameters on window.resizeTo() method includes title-bar and status-bar etc...


http://msdn.microsoft.com/en-us/library/ms536723.aspx
Custom Features ignored in Windows 7
Hi there we are using this code snippet below to open windows with a custom height, width, look, and feel. This works great on XP IE6, IE7, and IE8 but in Windows 7 the custom features are totally ignored. Has anyone else seen this and fixed it?
Thanks.

varcustomFeatures = 'titlebar=no, status=no,menubar=no,resizable=yes, scrollbars=no,toolbar=no,location=no,directories=no,left=0,top=0,height=' + document.documentElement.offsetHeight + ',width=' + document.documentElement.offsetWidth;

window.open
(windowURL, '_blank' , windowFeatures,true);

Response: Does your feature string code really contain spaces after each pair? According to the original specifications for window.open() from Netscape any content after a space is ignored! (e.g. no spaces allowed)
Zoom window feature in IE8
Hi,

I have the following IE button script that uses the zoom windows feature and it appears to work as expected but the documentation here states.

&lt;quote&gt;
Internet Explorer 8. New windows and pop-ups always inherit the zoom level of the parent window.
&lt;/quote&gt;


&lt;script type="text/javascript" language="javascript"&gt;
// Open the selected link in Browser Lab.
var win = window.external.menuArguments;
if (win.location.protocol=='about:')
{alert('Cannot open about pages in Browser Lab.\nOperation cancelled.');}
else
{
var sURL = win.event.srcElement;
if (sURL.tagName=="A")
{
window.open('https://browserlab.adobe.com/index.html#showDelay=true;browsers=WXPFF3000%2CWXPIE7000%2COSXFF3000%2COSXSF3000%2CWXPIE6000;url=' + escape(sURL) + ';zoom=100;view=1;delay=0');
}
else
{
window.open('https://browserlab.adobe.com/index.html#showDelay=true;browsers=WXPFF3000%2CWXPIE7000%2COSXFF3000%2COSXSF3000%2CWXPIE6000;url=' + escape(win.location.href) + ';zoom=100;view=1;delay=0');
}
}
&lt;/script&gt;

The zoom feature is required if you are opening Flash content which will not be zoomed by the existing IE Adaptive Zoom settings.

Regards.
ie two process instances, one window name
consider:

window.open(..."WindowName"...);

on two separate browser instances (i.e. two iexplorer.exe instances in the task manager).

They will... somewhat surprisingly... use the same physical window, which means that the process that displays the window may not be the one who invoked the window.open command.

In many cases, this is not an issue.  However, if, for example, some or all of the driving parameters for the window are not stored as part of the URL, but are cookie driven, this will cause a catastrophic failure, since the only information that is passed from one process to the other is the url.

e.g. if you're coding in ASP.Net and using Session to store what a search result was, and a user has two iexplorer windows open, and they try to share windows, it doesn't work from the "second" iexplorer, because the session/cookie that is being used is only from the "first" iexplorer.exe process.  ("first" and "second" are determined by who opened the instance of the window).

One simple work around is to append to the window name with some kind of session identifier from the server (e.g. in ASP.Net "Session.SessionID") to the window name.  This will result in new windows being created, but only for new sessions.

The other is to include the information as part of the url to window open, however, if the information is sensitive, it will need to be either hashed or encrypted.
window.open and HTTP REFERRER
Be aware that Internet Explorer will not send the HTTP REFERRER header when you make use of window.open function. This is a different behavior and all other major browsers will send the header, except Internet Explorer.
Web forms
How to create form for creating e-mail? As I know such forms are created with help of PHP, AjaX, Java Script, Perl, HTML. What forms do you prefer? 
<a href="http://phpforms.net/tutorial/html-basics/form-creator.html">form creator</a>
Resizable Default Value
Found out that the resizable property defaults to 'no' in IE7.
onclick="window.open('../default.aspx', '_blank', 'height=200,width=400,status=yes')

will open a new window but you cannot resize it.

onclick="window.open('../default.aspx', '_blank', 'height=200,width=400,status=yes,resizable=yes')

will open a new resizable window

Sometimes IE7 shows the Address Bar even if you set "location=no"
Not really sure about the address bar being read-only when location=no. Maybe for some. But as for me, I tried in IE 7, I can still input links and navigate through it. To me looks like an IE bug. Any solutions on this?
-dongzky


The behavior described in this comment is by-design. In Internet Explorer 7 and later, you cannot remove the address bar in Internet Zone windows, for security (anti-spoofing) reasons. As described in the MSDN article above, in IE7 and later, location=no simply hides the back/forward/stop navigation buttons, and makes the address bar read-only. (The reason you can hide the address bar when the file is saved locally is that the file is opened in the Local Machine zone rather than the Internet Zone.)

-EricLaw, Program Manager, Internet Explorer Security.

The address bar is not supposed to come in a pop up, if we are setting "location=no" in the input "Features" of window.open(). It is coming at certain situations as follows. Please let me know why it is coming like that.

Steps to reproduce this issue

<html>
<head>
<title>GL Page and Pax page previews using javascript pop ups</title>
</head>
<body>
<div>
<a href="#" onclick="javascript:window.open('http://www.live.com', '_blank','top=100, left=100, height=740, width=780, status=no, menubar=no, resizable=no, scrollbars=yes, toolbar=no, location=no, directories=no');">
Live Search
</a>
</div>
</body>
</html>
  • Click on the button "Edit the text and click me"
  • Click on the "Live Search" link on the HTML frame
  • A pop up will be generated with an address bar.

Ps: Please note that the same code will work fine, if you are copy pasting it to a notepad and saving it as an HTM file and running on local

Regards,
abhiCrezy

The name parameter has requirements.
I had an issue where the name parameter contained a dash, and IE raised an error on that. Upon removing the dash the code proceeded to work again.

This was tested in IE7 / XP sp3
IE6 to IE7 window.open behavior change when sURL string is encoded

In IE6 this works...

window.open('file%3AK%3A%2FFOLDER%2FSUBFOLDER%2Ftest.txt','newWindow','left=100,top=100,height=500,width=800,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes');



In IE7 it does not.

What exactly has changed related to having the window.open sURL param encoded between IE6 and IE7?


[tfl - 01 08 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&


2 HTTP Connection limit
prior to ie8 (ie8 increased this limit to 6), ie browsers limit http connections to 2 simultaneously.

using window.open shares these two connections between the original browser and the newly opened browser, just as opening a new window tab in ie7 does.

Is there a way to use window.open to open a new browser with its own set of http connections?

thanks in advance!

[tfl - 01 08 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&
The top and left parameters are ignored
Hi,

Ours is a premised application and we have to check is a popup blcoker is active in our application. If it is, we warn the user appropriately.
For this we open a popup using the window.open method with the top and left set to 4000. This opens the window at position that is outside the screen.
This logic works nicely if the site is accessed using a name (vs. an IP address). As soon as we use and IP address to access the site, the popup shows up in the botton right corner of the screen.
This confuses our users.
we notice the same ic case the webserver is not in the same domain as the client machine.
Is this a security feature in IE7 specifically ?

[tfl - 01 08 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&
Width &amp; Height Bug -- Height + 111px, Width + 12px
IE7 does not open a window with the requested height and width. Instead it appears to add 111 pixels to the height, and 12 pixels to the width. I've only tested under Windows Vista and Windows 2008 Server, but assume it's also true under other versions.
The sName parameter must NOT contain spaces in IE
IE is very strict on the name used for the sName parameter. If set with a value that contains spaces: e.g. "search widgets" it will fail and you will not be able to access it from the opener.
Return value is Nothing sometimes

A valid window handle is returned only the first time a window is opened. Opening a window a second time causes it to reload; the previous handle is valid but the value returned by the call is Nothing.

If the URL is empty and a target name is specified and a window with that name already exists, a handle to the existing window is returned and its location is unchanged.