-
Notifications
You must be signed in to change notification settings - Fork 4
/
489.txt
455 lines (341 loc) · 24.2 KB
/
489.txt
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
* 仕様書
[REFS[
- [36] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#browsing-context-name>
- [33] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-name>
- [57] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#attr-iframe-name>
- [61] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-iframe-name>
- [48] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-embed-name>
- [63] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#attr-object-name>
- [66] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-object-name>
- [71] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#frame>
-- [64] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#dom-frame-name>
]REFS]
* 閲覧文脈名
[37] [[閲覧文脈]]は、[DFN[[RUBYB[[[閲覧文脈名]]]@en[browsing context name]]]]を持つことができます。
初期状態では[[閲覧文脈名]]はありません。 [SRC[>>36]]
[51] [[閲覧文脈名]]は、[[閲覧文脈包含子]]の[[要素]]の [CODE(HTMLa)@en[[[name]]]]
[[内容属性]]により決まります。
[50] [[閲覧文脈名]]は、[[履歴の探索]]により、[[活性文書]]に合わせて変化します。
** 適合性
[65] [DFN[[RUBYB[[[妥当な閲覧文脈名]]]@en[valid browsing context name]]]]は、
[CODE[[[_]]]] で始まら''ない''、[[空]]で''ない''[[文字列]]です [SRC[>>36]]。
;; [CODE(HTMLa)@en[[[name]]]] [[属性]]で要求されます。
[67] [DFN[[RUBYB[[[妥当な閲覧文脈名またはキーワード]]]@en[valid browsing context name or keyword]]]]は、
[[妥当な閲覧文脈名]]か、 [[ASCII大文字・小文字不区別]]で
[CODE(HTML)@en[[[_blank]]]], [CODE(HTML)@en[[[_self]]]], [CODE(HTML)@en[[[_parent]]]],
[CODE(HTML)@en[[[_top]]]] のいずれかと一致するものです
[SRC[>>36]]。
;; [CODE(HTMLa)@en[[[target]]]] [[属性]]や [CODE(HTMLa)@en[[[formtarget]]]]
[[属性]]で要求されます。
[CODE(JS)@en[[[window.open]]]] [[メソッド]]でも事実上これが求められています。
[73] それ以外の [CODE[_]] で始まる値は、将来の拡張のために予約されています [SRC[>>36]]。
;; [39] [CODE(HTMLa)@en[[[target]]]] [[属性]]や [CODE(HTMLa)@en[[[name]]]]
[[属性]]に指定することは禁止されています。しかし指定した場合は、
通常の名前のように扱われます (将来拡張されると異なる動作になるかもしれないため、
禁止されています)。
;; [75] [[妥当な閲覧文脈名]]が求められる場所 ([CODE(HTMLa)@en[[[name]]]]
[[属性]]) に [CODE[_blank]] などのキーワードを指定することは禁止されています。
指定してもそのまま[[閲覧文脈名]]として使われますが、 [CODE(HTMLa)@en[[[target]]]]
[[属性]]でそれを使うと特別な意味で解釈されるため、その[[閲覧文脈]]を指すために使うことはできません。
[76] 歴史的には、他に [CODE(HTML)@en[[[_content]]]], [CODE(HTML)@en[[[_media]]]],
[CODE(HTML)@en[[[_main]]]],
[CODE(HTML)@en[[[_next]]]], [CODE(HTML)@en[[[_search]]]], [CODE(HTML)@en[[[_replace]]]]
といったキーワードが[[Webブラウザー]]依存の機能 ([[二次的閲覧文脈]]等) のため、
または [[HTML]] 以外の [[Web]] 関連仕様により用いられていました。
;; [77] 更に、意味もなく [CODE[_]] から始まる名前を使っている[[文書]]も数多く存在しています。
[74] [[空文字列]]は、[[閲覧文脈名]]が割り当てられていないことを表すため、
禁止されています。
** 文脈
[78] [CODE(JS)@en[[[window.name]]]] [[IDL属性]]は[[閲覧文脈名]]を表します。
[70] [[閲覧文脈名]]は、 [CODE(DOMi)@en[[[Window]]]] [[オブジェクト]]の[[名前付き特性]]による他の
[CODE(DOMi)@en[[[Window]]]] へのアクセスのために使うことができます。
[79] [CODE(HTMLa)@en[[[name]]]] [[内容属性]]によってその[[要素]]の[[入れ子閲覧文脈]]の[[閲覧文脈名]]を指定できます。
[80] [CODE(HTMLa)@en[[[target]]]] [[内容属性]]や [CODE(JS)@en[[[window.open]]]]
の第2引数によって [[navigate]] する[[閲覧文脈]]を指定できます。
* [CODE(DOMi)@en[Window]] インターフェイス [CODE(DOMa)@en[name]] 属性
[34] [CODE(DOMi)@en[[[Window]]]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[[[name]]]]]] [[IDL属性]]は、
[[取得器]]は[[閲覧文脈名]]を返し、
[[設定器]]は[[閲覧文脈名]]を設定するものでなければ[['''なりません''']]。
ただし[[閲覧文脈名]]が未設定の時は、[[空文字列]]を返さなければ[['''なりません''']]。
[SRC[>>33]]
[35] この[[属性]]の型は、 [CODE(IDL)@en[[[DOMString]]]] です [SRC[>>33]]。
* フレーム系 [CODE(HTMLa)@en[name]] 属性
[52] [[HTML]] の [CODE(HTMLe)[[[frame]]]] 要素および
[CODE(HTMLe)[[[iframe]]]] 要素、
[CODE(HTMLe)@en[[[embed]]]] [[要素]]や
[CODE(HTMLe)@en[[[object]]]] [[要素]]の
[DFN[[CODE(HTMLa)[name]]]] [[内容属性]]は、
[[入れ子閲覧文脈]]に名前をつけるために使われます [SRC[>>57, >>63]]。
;; [68] [CODE(HTMLe)@en[[[object]]]] [[要素]]は[[フォーム制御子]]として機能することもありますが、
[CODE(HTMLa)@en[[[name]]]] [[属性]]は[[制御子名]]を指定するものではないようです。
ただし[[プラグイン]]が [CODE(HTMLa)@en[[[name]]]] [[属性値]]を[[フォームデータ集合]]上の名前として使うことを妨げるものでもないようです。
** 属性値
[58] [CODE(HTMLe)@en[[[iframe]]]] [[要素]] [SRC[>>57]] や
[CODE(HTMLe)@en[[[object]]]] [[要素]] [SRC[>>63]] の [CODE(HTMLa)@en[[[name]]]]
[[属性値]]は、[[妥当な閲覧文脈名]]でなければ[['''なりません''']]。
;; [72] [CODE(HTMLe)@en[[[embed]]]] [[要素]]や [CODE(HTMLe)@en[[[frame]]]]
[[要素]]の [CODE(HTMLa)@en[[[name]]]] [[属性]]は[[廃止]]状態なので[[適合性]]は規定されていませんが、
指定する場合、同様に[[妥当な閲覧文脈名]]であるべきだと思われます。
[56] この属性は省略可能です。省略すると[[閲覧文脈名]]はなし ([[空文字列]]) となります。
** 処理
[59] [CODE(HTMLe)@en[[[iframe]]]] [[要素]]や [CODE(HTMLe)@en[[[frame]]]]
[[要素]]、 [CODE(HTMLe)@en[[[object]]]] [[要素]]から[[閲覧文脈の作成]]が行われる際に、
[CODE(HTMLa)@en[[[name]]]] [[属性]]があれば[[閲覧文脈名]]としなければ[['''なりません''']]
[SRC[>>57, >>63, >>71]]。なければ、[[空文字列]]を[[閲覧文脈名]]としなければ[['''なりません''']] [SRC[>>57, >>63, >>71]]。
[60] [CODE(HTMLe)@en[[[iframe]]]] [[要素]]や [CODE(HTMLe)@en[[[frame]]]]
[[要素]]、[CODE(HTMLe)@en[[[object]]]] [[要素]]の [CODE(HTMLa)@en[[[name]]]]
[[属性]]が設定された時には、[[入れ子閲覧文脈]]があれば、
新しい値に[[閲覧文脈名]]を変更しなければ[['''なりません''']]
[SRC[>>57, >>63, >>71]]。削除された時には、[[空文字列]]に変更しなければ[['''なりません''']] [SRC[>>57, >>63, >>71]]。
[46] [CODE(HTMLe)@en[[[embed]]]] [[要素]]から[[閲覧文脈の作成]]が行われる際に、
[CODE(HTMLa)@en[[[name]]]] [[属性]]があれば[[閲覧文脈名]]に設定されます。
;; [47] 後から変更されても反映されないようです。
** IDL 属性
[62] [CODE(DOMi)@en[[[HTMLIFrameElement]]]] [[インターフェイス]]や
[CODE(DOMi)@en[[[HTMLIFrameElement]]]] [[インターフェイス]]の
[[IDL属性]] [DFN[[CODE(DOMa)@en[[[name]]]]]] は、 [CODE(HTMLa)@en[[[name]]]]
[[内容属性]]を[[反映]]しなければ[['''なりません''']] [SRC[>>61, >>64]]。
[CODE(DOMi)@en[[[DOMString]]]] として[[反映]]します。
[49] [CODE(DOMi)@en[[[HTMLEmbedElement]]]] [[インターフェイス]]や
[CODE(DOMi)@en[[[HTMLObjectElement]]]] [[インターフェイス]]の[[廃止]]状態の
[[IDL属性]] [DFN[[CODE(DOMa)@en[[[name]]]]]] は、[CODE(HTMLa)@en[[[name]]]]
[[内容属性]]を[[反映]]しなければ[['''なりません''']] [SRC[>>48, >>66]]。
[CODE(DOMi)@en[[[DOMString]]]] として[[反映]]します。
** 関連
[55] [CODE(HTMLa)@en[[[name]]]] [[属性値]]は、 [[DOM]] で
[CODE(DOMi)@en[[[HTMLCollection]]]] や [CODE(DOMm)@en[[[getElementsByName]]]]
を通じて[[要素]]にアクセスするために使うことができます。
;; [69] そのような利用も考慮するなら、
一般的なスクリプト言語で[[名前]]として使える構文に従った名前を付けるのが得策かもしれません。
* 歴史
** 飛び先フレーム名
そもそもフレーム名ってどんな文字が使えるんですか。
- W3C HTML4 から <http://www.w3.org/TR/html4/types.html#type-frame-target>
最初の文字は、 [A-Za-z] または "_" (予約名) で、2文字目以降は
よく分かりません。 SGML (DTD) 的には CDATA です。
気持ち的には _?[A-Za-z]+ なんですかね? ま、現実には何でもあり
なんでしょーが。
- Window-Target = "Window-Target:" FWS target-frame
- target-frame = 1*ALPHA / special-target / obs-target-frame
- special-target = "_" 1*ALPHA
- obs-target-frame = 1*cchar
- cchar = <A character allowed in SGML (HTML4) CDATA>
HTML4 によると大文字・小文字は区別されません。
Netscape の仕様に拠ると先頭文字は DIGIT でもいい(良かった)模様。
それ以外の文字から始まる時は''無視''するようです。
特殊名で未定義のときも無視。
[40] <http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/target.html>
[41] [CITE[How to target a link to a window]] ([TIME[2007-02-28 00:30:29 +09:00]] 版) <http://web.archive.org/web/19970613222251/www82.netscape.com/eng/mozilla/2.0/relnotes/demo/target.html>
[42] [CITE@en[Web Applications 1.0 r7828 Try to clarify browsing context rules]]
( ([TIME[2013-04-14 01:18:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7827&to=7828>
[43] [CITE[OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema]]
([TIME[2011-09-29 13:00:00 +09:00]] 版)
<http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a19_380office_target-frame>
[44] [CITE[Jumping out of the window - how to get rid of frames]]
([[Jahn Rentmeister, rentmei@uni-muenster.de]] 著, [TIME[2015-01-24 22:10:06 +09:00]] 版)
<http://web.archive.org/web/19990203145328/http://www.uni-muenster.de/WiWi/home/rentmei/html/frames.html>
[45] [CITE[''''''[''''''whatwg'''''']'''''' Specify href target with HTTP headers]]
( ([TIME[2012-06-09 07:46:05 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036334.html>
** HTML4
[1] [[HTML 4]] などの [[DTD]] において、 [CODE(HTML)[%FrameTarget;]]
は対象フレーム名を表します。
[[a]] 要素などの [[target]] 属性の値が [CODE(HTML)[%FrameTarget;]]
として定義されています。また、 [[frame]] 要素や [[iframe]]
要素の [[name]] 属性の値も、 (DTD 上は直接 [[CDATA]] になっていますが)
[CODE(HTML)[%FrameTarget;]] と考えて良いでしょう。
[REFS[
[53] 仕様書:
- [[HTML 4]]
-- [CODE(HTMLe)[frame]] 要素 [CODE(HTMLa)[name]] 属性
<IW:HTML4:"present/frames.html#adef-name-FRAME">
-- [CODE(HTMLe)[iframe]] 要素 [CODE(HTMLa)[name]] 属性
<IW:HTML4:"present/frames.html#adef-name-IFRAME">
- [[XHTML 1.0]]
-- [CSECTION@en[4.10. The elements with 'id' and 'name' attributes]]
([[参考]])
<IW:XHTML1:"#h-4.10">
]REFS]
[92]
HTML 4 仕様書本文では、 [CODE(HTMLe)[iframe]] 要素型の定義で、
[CODE(HTMLa)[name]] 属性を独自の定義と [CODE(HTMLe)[frame]]
要素型での定義の参照の両方としています。
おそらくいずれかが間違いなのでしょうが、幸い、
どちらの [CODE(HTMLa)[name]] の定義もまったく同じ内容ですから、
問題にはなりません。
[93]
この[[属性]]は'''[[非推奨]]'''です
[SRC[[[XHTML 1.0]] 4.10 ([[参考]])]]。
代わりに [CODE(HTMLa)@en[[[id]]]]
[[属性]]を使うことができます。
;; ただし、 [CODE(HTMLa)@en[[[name]]]] と
[CODE(HTMLa)@en[[[id]]]] では、
[[属性値]]に課された制約が異なります。
[[噂の[CODE(XML)@en[ID]]問題]]の項などをご覧下さい。
[94] [[XHTML 1.0]] では将来の版での削除が予告されており、
実際に [[XHTML 1.1]] には [CODE(HTMLa)@en[[[name]]]]
は含まれていません。
[54] この属性の値は [CODE(SGML)[[[CDATA]]]] です。
特に名前に制限は無いみたいです [SRC[HTML 4 16.2.2, 16.5]]。
大文字・小文字は区別されません [SRC[HTML 4 16.2.2, 16.5]]。
ただし、名前を参照する側の [CODE(HTMLa)[[[target]]]]
属性の値は [CODE(SGML)[%[[FrameTarget]]]] ですから、
それ以外にすると使い辛いでしょう。
** フレーム名
[2] DTD においては細かい制限を記述できないため、 [CODE(HTML)[%FrameTarget;]]
は [CODE(SGML)[CDATA]] として定義されていますが、実際にはその構文には緩やかな制限があります。
[5] HTML 4 (>>3) によれば、
- frame-target = ALPHA CDATA / special-frame-target
です。なお、大文字・小文字は区別されません。
[6] HTML 4 に従うなら、この構文に合致しない名前は無視します (should)。
実際の [[UA]] の挙動は、どんな名前でも受け入れるようです。
漢字や仮名を使ったフレーム名の HTML 文書も実在していたりします。
[[a]] 要素の [[name]] 属性同様, なんでもありの世界と考えた方が良いでしょう。
[9] フレーム名は [[HTTP]] [[頭欄]] [[Window-Target]]
の値でもありますから、 HTTP で安全に転送できる ASCII
の94個の図形文字の範囲内にした方が良いでしょう。
[11] >>5 Netscape の元の仕様 (>>10)
では、最初の文字に数字も許しています。
- [10] [NETSCAPE] ''How to target a link to a window'' <http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/target.html>
- [3] [HTML4] ''Basic HTML data types: Frame target names'' <IW:HTML4:"types.html#type-frame-target">
- [4] ''Frames in HTML documents: Specifying target frame information'' <IW:HTML4:"present/frames.html#target-info">
- [14] ''Common Markup for micropayment per-fee-links: a W3C Public Working Draft'' <http://www.w3.org/TR/Micropayment-Markup/#target>: HTML 4 と同じように定義された [CODE[[[target]]]] 引数が存在します。既定値は [CODE[_self]] です。
- [[XHTML 1.0]]
-- [CSECTION[A.1.1. XHTML-1.0-Strict]]
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-strict.dtd_FrameTarget>
-- [CSECTION[A.1.2. XHTML-1.0-Transitional]]
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-transitional.dtd_FrameTarget>
-- [CSECTION[A.1.3. XHTML-1.0-Frameset]]
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-frameset.dtd_FrameTarget>
- [[XHTML m12n]]
-- [CSECTION[4.3. Attribute Types]]
<IW:XHTML1m12n:"abstraction.html#dt_FrameTarget">
- [[WebCGM]]
-- 第1版: [CITE[WebCGM Intelligent Content]]
<http://www.w3.org/TR/1999/REC-WebCGM-19990121/REC-03-CGM-IC.html#webcgm_3_1>
-- 第2版: [CITE[WebCGM Intelligent Content]]
<http://www.w3.org/TR/2001/REC-WebCGM-20011217/REC-03-CGM-IC.html#webcgm_3_1_2_2>
-- 2.0 [[会員提出]]:
[CITE@en[OASIS CGM Open specification - WebCGM 2.0 - WebCGM Intelligent Content]]
<http://www.w3.org/Submission/2006/SUBM-WebCGM20-20060313/WebCGM20-IC.html#webcgm_3_1_2_2>
-- 2.0 [[勧告]]:
[CITE[WebCGM 2.0 - WebCGM Intelligent Content]] ([CODE[2007-01-25 02:12:49 +09:00]] 版)
<http://www.w3.org/TR/2007/REC-webcgm20-20070130/WebCGM20-IC.html#webcgm_3_1_2_2>
-- 2.0 [[標準]]:
[CITE[WebCGM 2.0 - WebCGM Intelligent Content]] ([CODE[2006-11-04 01:53:46 +09:00]] 版)
<http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-IC.html#webcgm_3_1_2_2>
-- 2.1 [[勧告]]:
<http://www.w3.org/Graphics/WebCGM/drafts/REC/WebCGM21-IC.html#webcgm_3_1_2_2>
- [[OpenDocument]] 1.0
--[CSECTION@en[3.1.14 Hypertext Behavior]]
[19]
[[WebCGM]] は HTML 4 の予約名に加えて [CODE[_replace]] (埋込み CGM 画像内のリンクをたどった時、その画像を置き換える) を定義しています。
[23]
[[SVG]] は [[WebCGM]] と同じものを採用しています。
ただし枠名は [[XML]] の[[名前]]であるとしています。
@@ XML 1.0? XML 1.1? 版不特定?
** 特殊フレーム名
[22]
,[CODE(SGML)[%FrameTarget]] ,説明 ,状態 ,出典
,[CODE(ABNF)[[[ALPHA]] [CODE(SGML)[[[CDATA]]]]]] ,フレーム名による指定 ,W3C 勧告 ,"[HTML 4], [WebCGM]"
,[[XML]] [[名前]] ,フレーム名による指定 ,W3C 勧告 ,[SVG]
,[CODE(HTML)[[[_blank]]]] ,新しい無名の窓 ,W3C 勧告 ,"[Netscape], [HTML 4], [WebCGM], [OpenDocument], [OOXML]"
,[CODE(HTML)[[[_content]]]] ,主表示領域 >>8 ,非標準 ,[[Mozilla]]
,[CODE(HTML)[[[_main]]]] ,主表示領域 >>8 ,非標準 ,[[WinIE]]
,[CODE(HTML)@en[[[_media]]]],[[媒体バー]],[[ECMA]] [[規格]],"[[WinIE 6]]+, [[OOXML]]"
,[CODE(HTML)@en[[[_next]]]]
,[CODE(HTML)[[[_search]]]] ,検索用表示領域 ,[[ECMA]] [[規格]],"[[Mozilla]], [[WinIE 5]]+, [[OOXML]]"
,[CODE(HTML)[[[_self]]]] ,同じフレーム ,W3C 勧告 ,"[Netscape], [HTML 4], [WebCGM], [OpenDocument], [OOXML]"
,[CODE(HTML)[[[_parent]]]] ,親フレーム ,W3C 勧告 ,"[Netscape], [HTML 4], [WebCGM], [OpenDocument], [OOXML]"
,[CODE(HTML)[[[_replace]]]] ,同じ領域 >>19 ,W3C 勧告 ,[WebCGM]
,[CODE(HTML)[[[_top]]]] ,同じ窓全体 ,W3C 勧告 ,"[Netscape], [HTML 4], [WebCGM], [OpenDocument], [OOXML]"
[7] [CODE(HTML)[_parent]] と [CODE(HTML)[_top]] は「親」が存在しなければ
[CODE(HTML)[_self]] と同じ意味になります。
HTML 4 は [CODE(HTML)[_parent]] は親 [[frameset]] としていますが、
[CODE(HTML)[IFRAME]] 要素の内部で使われた場合はどうなのでしょう。
[[WinIE]] でも [[Mozilla]] でも、親文書の窓になりました。
HTML 4 の意図は分かりませんが、実態だけ考えれば [CODE(HTML)[FRAMESET]]
に限定したのは間違いです。
Netscape の元の仕様 (>>10)
も似たような表現ですから、そのままもってきて修正し忘れたのかもしれません。
[8] [[Mozilla]] 拡張の [CODE(HTML)[_content]] は、基本的には
[CODE(HTML)[_self]] 同様に機能するようですが、例えば [[Sidebar]]
に表示している頁で使うと通常のブラウザの部分に読み込ませることが出来ます。
WinIE は同様のものとして [CODE(HTML)[_main]] を使っています。
しかしこれは[[エクスプローラバー]]では使えても、通常のブラウザの部分では使えないようです。
Moz も IE も、相手のものは未対応らしく、新窓で開きます。
- [12] 仕様無視の[[不思議マーク付け]]の世界ではフレームの名前に [CODE(HTML)[_main]] (や他の [CODE(HTML)[_]] で始まる名前) を使っているところもあります。 >>8 はそれへの対処なんでしょうか。 (M$ がそうするとは考えにくいのですが。)
- [13] >>5 にあるとおり、大文字・小文字は基本的に区別されません。しかし、ほとんどの場合これらの予約名には小文字が使われます。とはいうもののやはり、大文字を使った例も見受けられます。
- [15] しかし、実際には大文字と小文字を区別''する'' UA もあるようですから、小文字で統一した方が安全です。
[16]
数字のフレーム名ってよく見かけます。そういうのが既定値になっている変な authoring tool でもあるのでしょうか。
([[名無しさん]] [WEAK[2004-03-29 12:40:40 +00:00]])
[17]
> 13-15 大文字の予約名の実例、はじめてみました。なんだか新鮮。
([[名無しさん]] [WEAK[2004-06-11 11:09:30 +00:00]])
[25]
[CITE[Target Attribute Values]] ([[Lachlan Hunt <lachlan.hunt@...>]] 著, [TIME[2007-04-26 07:34:02 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/10387>
([[名無しさん]] [WEAK[2007-04-28 04:10:21 +00:00]])
[26] [OOXML] は [[OOXML]] の [[VML]] 用 [CODE(XMLa)@en[[[target]]]]
[[属性]]。
[27] [OpenDocument] は [[OpenDocument]] の [CODE(XMLa)@en[meta:[[target-frame-name]]]]
[[属性]]。
[28] [[OpenDocument]] も [[OOXML]] も、[[閲覧文脈名]]の[[文字]]の種類に制限はないみたいです
([CODE[_]] も含め、何も言及がありません)。
** 枠の決定
[20] [ABBR[HTML] [ハイパーテキスト・マーク付け言語]] 4
の附属書には、リンク先文書を表示する[[枠]]を決定する
[Q[[RUBYB[現在の慣習] [current practice]]]]が説明されています。
- [[HTML 4]]
-- [CITE[B.8 notes-framesNotes on frames]]
<IW:HTML4:"appendix/notes.html#notes-frames">
[21]
= 対象名が >>22 の予約名であれば、その通りに。
= リンクが含まれている[[窓]]の中の枠を深さ優先探索
(名前完全一致) で。
= 前の窓から後ろの窓に向かって、見つかるまで手順 2. を実行。
= 新しい窓を作り、それに対象名を割当てる。
**
[18]
''Bug 105693 - W3C HTML 4.01 spec recommends we ignore non-alpha target'' <http://bugzilla.mozilla.org/show_bug.cgi?id=105693>
数字で始まるフレーム名や下線ではじまるフレーム名について。
;; これによると、 [CODE(HTML)[_new]] は [[NC4]] で導入されて [[Gecko]] にも引き継がれているのだそうで。
([[名無しさん]] [WEAK[2004-06-28 03:01:41 +00:00]])
[24]
[CITE[So, You Want A New Browser Window, Huh?]]
([[Joe Burns]] 著、2005年7月現在)
<http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479481>
(他の内容から90年代後半に書かれたと推測)
> <A HREF="http://www.site.com/page.html"
TARGET="resource window">
Text Text Text</A>
[31] [CITE@en-US[Window Object 1.0]]
( ([TIME[2006-04-08 02:19:28 +09:00]] 版))
<http://www.w3.org/TR/Window/#embedding>
[100]
[CITE[Bug 444222 – window.name/.status can be used as an XSS attack vector]] ([CODE[2008-09-15 22:34:02 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=444222>
[32] [CITE@en[Web Applications 1.0 r8483 window.name should be the empty string when the name isn't set.]]
( ([TIME[2014-02-21 07:18:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8482&to=8483>
[29] [CITE[''''''[''''''whatwg'''''']'''''' Reserved browsing context names]]
( ([TIME[2010-11-16 08:44:20 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-November/029030.html>
[30] [CITE[''''''[''''''whatwg'''''']'''''' Reserved browsing context names]]
( ([TIME[2011-02-12 10:56:36 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-February/030414.html>
* 関連
[38] [CODE(HTMLa)@en[[[target]]]] も参照。
[81] [CITE@en[Reduce the number of Window objects exposed on the Window object]]
( ([[annevk]]著, [TIME[2016-05-29 03:47:48 +09:00]]))
<https://github.com/whatwg/html/commit/ae055fbc49e6b57bbfdc69537af67e8971871c06>
[82] [CITE@en[RE: Changing window.name behavior]]
([[Crispin Cowan]]著, [TIME[2016-07-08 04:30:15 +09:00]])
<https://lists.w3.org/Archives/Public/public-webappsec/2016Jul/0007.html>
[83] [CITE@en[Editorial: clean up "traverse the history"]]
([[annevk]]著, [TIME[2016-07-07 16:31:28 +09:00]])
<https://github.com/whatwg/html/commit/b9c90431ad4c8aa583aee1691a6a1bd355b68b53>
[84] [CITE@en[444222 – window.name can be used as an XSS attack vector]]
([TIME[2016-07-19 11:11:20 +09:00]])
<https://bugzilla.mozilla.org/show_bug.cgi?id=444222>