此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Window.name

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

获取/设置窗口的名称。

语法

string = window.name;
window.name = string;

示例

js
window.name = "lab_view";

备注

窗口的名字主要用于为超链接和表单设置目标(targets)。窗口不需要有名称。

在某些框架里(如,SessionVars 和 Dojo's dojox.io.windowName ,该属性也被用于作为 JSONP 的一个更安全的备选,来提供跨域通信(cross-domain messaging)。现代 web 应用应使用 postMessage API 进行敏感的跨域通信。

window.name 会调用 toString 将赋给它的值转换成对应的字符串表示。

(译注:此处似有不妥,私以为调用的应是 ToString 抽象方法。事实上,如果将一个 Symbol 类型的值赋给 window.name,会报 TypeError,而非调用 Symbol.toString() 转换成字符串后进行赋值。例如:

js
window.name = Symbol.for("foo"); // TypeError
window.name = Symbol.for("foo").toString(); // "Symbol(foo)"

具体可参见 EMCA 语言规范中 Type Conversion 一节。)

规范

Specification
HTML
# dom-name-dev

浏览器兼容性