aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/window/name/index.html
blob: 820c916235f2151e13d0e869c7cbe2afb8be9e4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---
title: Window.name
slug: Web/API/Window/name
tags:
  - API
  - NeedsUpdate
  - 参考
  - 属性
translation_of: Web/API/Window/name
---
<div>{{APIRef}}</div>

<p><span class="seoSummary">获取/设置窗口的名称。</span></p>

<h2 id="语法">语法</h2>

<pre class="syntaxbox"><var>string</var> = window.name;
window.name = <var>string</var>;</pre>

<h2 id="示例">示例</h2>

<pre class="brush:js">window.name = "lab_view";</pre>

<h2 id="备注">备注</h2>

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

<p>在某些框架里(如,<a href="http://www.thomasfrank.se/sessionvars.html">SessionVars</a> 和 Dojo's <a href="http://www.sitepen.com/blog/2008/07/22/windowname-transport/">dojox.io.windowName</a> ,该属性也被用于作为 JSONP 的一个更安全的备选,来提供跨域通信(cross-domain messaging)。现代 web 应用应使用 <a href="/en-US/docs/Web/API/Window/postMessage">postMessage API</a> 进行敏感的跨域通信。</p>

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

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

<pre class="brush: js">window.name = Symbol.for('foo'); // TypeError
window.name = Symbol.for('foo').toString(); // "Symbol(foo)"
</pre>

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

<h2 id="规范">规范</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td>规范</td>
   <td>状态</td>
   <td>说明</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML WHATWG', 'browsers.html#dom-name', 'Window.name')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('HTML5 W3C', 'browsers.html#dom-name', 'Window.name')}}</td>
   <td>{{Spec2('HTML5 W3C')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="浏览器兼容性">浏览器兼容性</h2>



<p>{{Compat("api.Window.name")}}</p>