Web/API/Window/name

From Get docs


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

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
name Chrome

Full support 1

Edge

Full support 12

Firefox Full support 1

Notes'

Full support 1

Notes'

Notes' From Firefox 82, if a new page from another domain is loaded into a tab, then window.name is set to the empty string (the original string is restored if the tab reverts back to the original page). This change prevents some cross-site attacks. See bug 444222.

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

Notes'

Full support 4

Notes'

Notes' From Firefox 82, if a new page from another domain is loaded into a tab, then window.name is set to the empty string (the original string is restored if the tab reverts back to the original page). This change prevents some cross-site attacks. See bug 444222.

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.