* 仕様書

[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][window.name]]]] [[IDL属性]]の[[取得器]]は、
次のようにしなければ[MUST[なりません]] [SRC[>>33]]。

[FIG(steps)[
= [95] 
[[文脈オブジェクト]]の[F[閲覧文脈]]が
[CODE[null]]
の場合、
== [96] 
[[空文字列]]を返します。
= [97] 
それ以外の場合、
== [98] 
[[文脈オブジェクト]]の[F[閲覧文脈]]の[F[閲覧文脈名]]を返します。
]FIG]

[99] 
[CODE(DOMi)@en[Window]]
[[インターフェイス]]の
[CODE(DOMa)@en[name][window.name]]
[[IDL属性]]の[[設定器]]は、
[VAR[[[指定値]]]]について、
次のようにしなければ[MUST[なりません]]
[SRC[>>33]]。

[FIG(steps)[
= [35] 
[VAR[値]]を、
[VAR[指定値]]を
[CODE(IDL)@en[DOMString]]
として[[解釈][変換 (Web IDL)]]した結果に設定します。
= [101] 
[[文脈オブジェクト]]の[F[閲覧文脈]]が
[CODE[null]]
で''ない''場合、
== [102] 
[[文脈オブジェクト]]の[F[閲覧文脈]]の[F[閲覧文脈名]]を、
[VAR[値]]に設定します。
]FIG]

* フレーム系 [CODE(HTMLa)@en[name]] 属性

[52] [[HTML]] の [CODE(HTMLe)[[[frame]]]] 要素および
[CODE(HTMLe)[[[iframe]]]] 要素、
[CODE(HTMLe)@en[[[embed]]]] [[要素]]や
[CODE(HTMLe)@en[[[object]]]] [[要素]]の
[DFN[[CODE(HTMLa)[name]]]] [[内容属性]]は、
[[要素]]の[F[入れ子閲覧文脈]]に名前をつけるために使われます [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]]。

[46] [CODE(HTMLe)@en[[[embed]]]] [[要素]]から[[閲覧文脈の作成]]が行われる際に、
[CODE(HTMLa)@en[[[name]]]] [[属性]]があれば[[閲覧文脈名]]に設定されます。

[HISTORY[
[47] [TIME[平成31(2019)年][year:2019]]の仕様改訂まで、
[CODE[name][<iframe name>]]
[[属性値]]の変更が[[入れ子閲覧文脈]]の[[閲覧文脈名]]に反映されることになっていました。
現在は反映されないことになっています。

[60] [CODE(HTMLe)@en[[[iframe]]]] [[要素]]や [CODE(HTMLe)@en[[[frame]]]]
[[要素]]、[DEL[[CODE(HTMLe)@en[[[object]]]] [[要素]]]]の [CODE(HTMLa)@en[[[name]]]]
[[属性]]が設定された時には、[F[入れ子閲覧文脈]]があれば、
[F[入れ子閲覧文脈]]の[F[閲覧文脈名]]を新しい値に変更しなければ[MUST[なりません]]
[SRC[>>57, >>63, >>71]]。削除された時には、[[空文字列]]に変更しなければ[MUST[なりません]] [SRC[>>57, >>63, >>71]]。
]HISTORY]

** 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 &#8211; 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>

[85] [CITE@en[Re: Changing window.name behavior]]
([[Mike West]]著, [TIME[2016-07-19 17:12:31 +09:00]])
<https://lists.w3.org/Archives/Public/public-webappsec/2016Jul/0031.html>

[86] [CITE@en[Drop the name propagation for the object element's name attribute]]
([[foolip]]著, [TIME[2016-08-13 00:44:21 +09:00]])
<https://github.com/whatwg/html/commit/1d196b35eba203d5f7561c6b2458b990ff0e28fb>

[87] [CITE@en[Re: Changing window.name behavior]]
([[John Wilander]]著, [TIME[2016-12-08 06:28:23 +09:00]])
<https://lists.w3.org/Archives/Public/public-webappsec/2016Dec/0002.html>

[88] [CITE@en[Add <base target="x" /> to CSP · Issue #186 · w3c/webappsec-csp]]
([TIME[2017-05-17 01:57:28 +09:00]])
<https://github.com/w3c/webappsec-csp/issues/186>

[89] [CITE@en[Consider not setting browsing context name when noopener/noreferrer are used · Issue #4314 · whatwg/html]]
([TIME[2019-02-16 18:49:56 +09:00]])
<https://github.com/whatwg/html/issues/4314>

[90] [CITE@en[Fix Window's close(d) members]]
([[annevk]]著, [TIME[2019-03-08 00:47:50 +09:00]])
<https://github.com/whatwg/html/commit/37b1ce5ed31725fa7b3c64e27e3cc10aa15a791f>

[91] [CITE@en[Make window.name deal with lack of browsing context]]
([[annevk]]著, [TIME[2019-02-19 19:50:46 +09:00]])
<https://github.com/whatwg/html/commit/b8c084e9d5461b858180e7f80ad6ca19c7963723>

[103] [CITE@en[Make window.name deal with lack of browsing context by annevk · Pull Request #4366 · whatwg/html]]
([TIME[2019-08-29 20:18:21 +09:00]])
<https://github.com/whatwg/html/pull/4366>

[104] [CITE@en[Ignore changes to name attributes]]
([[annevk]]著, [TIME[2019-02-15 17:26:20 +09:00]])
<https://github.com/whatwg/html/commit/4fe2d539bd09809b86028df35f6b2c8caa4bc716>

[105] [CITE@en[Ignore changes to name attributes by annevk · Pull Request #4367 · whatwg/html]]
([TIME[2020-09-19 19:05:19 +09:00]])
<https://github.com/whatwg/html/pull/4367>

[106] [CITE@en[Ignore changes to name attributes by annevk · Pull Request #4367 · whatwg/html]]
([TIME[2020-09-19 19:06:40 +09:00]])
<https://github.com/whatwg/html/pull/4367>

[107] [CITE@en[Editorial: nested browsing context is a member, not a type]]
([[annevk]], [TIME[2019-11-27 02:46:03 +09:00]], [TIME[2022-01-18T08:52:04.000Z]])
<https://github.com/whatwg/html/commit/6b737bbc428facf34ec3728c0912cf9e172d0ea4>