The Window.name
property gets/sets the name of the window's browsing context.
Syntax
string = window.name; window.name = string;
Description
The name of the window is used primarily for setting targets for hyperlinks and forms. Browsing contexts do not need to have names.
Modern browsers will reset Window.name
to an empty string if a tab loads a page from a different domain, and restore the name if the original page is reloaded (e.g. by selecting the "back" button). This prevents an untrusted page from accessing any information that the previous page might have stored in the property (potentially the new page might also modify such data, which might then be read by the original page if it was reloaded).
Window.name
has also been used in some frameworks for providing cross-domain messaging (e.g. SessionVars and Dojo's dojox.io.windowName) as a more secure alternative to JSONP. Modern web applications hosting sensitive data should, however, not rely on window.name
for cross-domain messaging — that is not its intended purpose and there are safer/better ways of sharing information between windows. Window.postMessage()
is the recommended mechanism.
Note: window.name
converts all stored values to their string representations using the toString
method.
Examples
<script>
// Open a tab with a specific browsing context name
const otherTab = window.open("url1", "_blank");
if (otherTab)
otherTab.name = "other-tab";
</script>
<a href="url2" target="other-tab">This link will be opened in the other tab.</a>
Specifications
Specification | Status | Comment |
HTML Living StandardThe definition of 'Window.name' in that specification. | Living Standard | |
HTML5The definition of 'Window.name' in that specification. | Recommendation |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
name
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox Full support 1 Full support 1 Notes' From Firefox 82, if a new page from another domain is loaded into a tab, then |
IE
Full support 4 |
Opera
Full support ≤12.1 |
Safari
Full support 1 |
WebView Android
Full support 1 |
Chrome Android
Full support 18 |
Firefox Android Full support 4 Full support 4 Notes' From Firefox 82, if a new page from another domain is loaded into a tab, then |
Opera Android
Full support ≤12.1 |
Safari iOS
Full support 1 |
Samsung Internet Android
Full support 1.0 |
Legend
- Full support
- Full support
- See implementation notes.'
- See implementation notes.
Window.name by Mozilla Contributors is licensed under CC-BY-SA 2.5.