Window: name 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Window.name 属性用于获取/设置窗口浏览上下文的名称。

字符串。

描述

窗口的名称主要用于设置超链接和表单的目标。浏览上下文不需要有名称。

现代浏览器会在标签页加载来自不同域的页面时将 Window.name 重置为空字符串,并在重新加载原始页面时(例如,通过选择“后退”按钮)恢复该名称。这可以防止不受信任的页面访问前一个页面可能在此属性中存储的任何信息(潜在地,新页面也可能修改此类数据,如果原始页面被重新加载,则可能会被读取)。

Window.name 也曾被某些框架用于提供跨域消息传递,作为 JSONP 的更安全替代方案。然而,托管敏感数据的现代 Web 应用程序不应依赖 window.name 进行跨域消息传递 — 这不是其预期用途,并且有更安全/更好的方法在窗口之间共享信息。Window.postMessage() 是推荐的机制。

注意:window.name 使用 toString 方法将所有存储的值转换为其字符串表示形式。

示例

html
<a href="url2" target="other-tab">This link will be opened in the other tab.</a>
js
// Open a tab with a specific browsing context name
const otherTab = window.open("url1", "_blank");
if (otherTab) otherTab.name = "other-tab";

规范

规范
HTML
# dom-name-dev

浏览器兼容性