#?SuikaWiki/0.9 [1] [[HTML]] 系マーク付け言語では一般に、 [[埋込みリンク]]要素でリンクされる (埋め込まれる) 資源の [[URI参照]]を書く属性です。 [2] >>1 HTML の要素で [CODE(HTMLa)[src]] 属性を持つものの例としては、 [CODE(HTMLe)[[[img]]]], [CODE(HTMLe)[[[embed]]]], [CODE(HTMLe)[[[input]]]], [CODE(HTMLe)[[[script]]]], [CODE(HTMLe)[[[audio]]]], [CODE(HTMLe)[[[video]]]], [CODE(HTMLe)[[[frame]]]] などがあります。 [[#comment]] * img 要素 src 属性 (HTML, XHTML 1) [4] [[HTML]] の [CODE(HTMLe)[[[img]]]] 要素の [DFN[[CODE(HTMLa)[src]] 属性]]は、 画像資源の位置を指定します。 [5] 仕様書: [[HTML 4]] [[#comment]] ** 属性値 [6] この属性値の値は [CODE(SGML)[%[[URI]]]] です。 [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 [7] この属性は必須です。 [[#comment]] ** Mozilla の内部画像 [8] [CODE(HTMLa)[src]] 属性の値は本来 URI 参照ですが、 [[mosaic]] 系 UA の中には特定の値を指定すると内部組込みの特定の画像を表示することがあります。 [9] 存在が知られている組込み画像 ,[CODE(HTMLa)[src]] ,[CODE[internal-gopher-menu]] ,[CODE[internal-gopher-sound]] ,[CODE[internal-gopher-movie]] ,[CODE[internal-gopher-telnet]] ,[CODE[internal-gopher-text]] ,[CODE[internal-gopher-audio]] ,[CODE[internal-gopher-binary]] ,[CODE[internal-gopher-find]] ,[CODE[internal-gopher-image]] ,[CODE[internal-gopher-index]] [10] [[相対URI]] と区別できないのであんまりよくないと思いますが。。。 [[#comment]] *** 実装 [31] [[NC]] 4.01 で [CODE[internal-gopher-audio]] と [CODE[internal-gopher-find]] が表示できないみたい。 [11] [[Gecko]] な [[Mozilla]] では [[NN]]4 以前より表示できる数が少ないようです。 特に、 [[Netscape]] 6 くらいの古い Gecko Mozilla ではどれも表示できません。 (ということは、わざわざその後復元されたということです。) [CODE(URI)[[[resource:]]///res/html/gopher-[VAR[*]].gif]] が使われているみたいです。 [23] >>11 勝手にファイルを追加したも反映はされないみたいです。 [13] >>12 によれば [[IBM]] の [[WebExplorer]] も一部対応しているそうです。 また、 WebExplorer には [CODE(HTMLa)[[[internal]]]] 属性があって、こちらに組込み画像名を指定する方法も使えるそうです。 [[#comment]] *** 歴史 [16] 由来は [[Mosaic]] までさかのぼります: ''"internal-gopher-image"?!?'' [[#comment]] *** 参考文献 - [12] ''Browser-interne Ressourcen'' - [14] 無題 [[#comment]] *** メモ [15] ところでなぜだかわかりませんが、 この隠し機能を説明している文書はほとんどが非英語の欧州語です。なぜでしょ。 [20] [[Mozilla]] で、 [[CSS]] で [SAMP(CSS)[background-image: url(internal-gopher-text)]] とかしてみたけど流石に駄目でした。 [[#comment]] ** メモ [[#comment]] *type 属性の値が image である HTML の input 要素で [3] 画像の [[URI]] を指定します。 () [[#comment]] * frame 要素 src 属性 (HTML, XHTML 1) [32] [[HTML]] の [CODE(HTMLe)[[[frame]]]] 要素の [DFN[[CODE(HTMLa)[src]] 属性]]は、そのフレームの初期内容の場所を指定します。 [33] 仕様書: - [[HTML 4]] -- [CODE(HTMLe)[frame]] 要素[CODE(HTMLa)[src]] 属性 -- Setting the initial contents of a frame [[#comment]] ** 属性値 [34] この属性の値は [CODE(SGML)[%[[URI]]]] です。 [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 [38] 但し、フレームの定義と同じ文書の内容を参照することはできません [SRC[HTML 4 16.2.2.1]]。 仕様書の例 (>>37) は [CODE(HTMLe)[noframes]] にある要素を参照していますが、 自分自身 (フレーム集合文書) そのものを指すことも当然できないのでしょう。 [35] この属性は省略可能です。 [[#comment]] ** 応用 [39] >>38 より、実装は直接再帰状態を扱う必要がありません。 しかし、間接的に再帰状態なのは陽に禁止されてはいません。 (意味が無いのでするべきではないでしょう。) 直接にせよ間接にせよ、実装は自分自身を参照していないかチェックするべきでしょう。 (しかし必死でレンダリングを繰り返す哀れなブラウザも少なくないのが事実です。) [[#comment]] ** 例 [36] 4つのフレームがあるフレーム集合文書の例 [SRC[HTML 4 16.2.2.1]] [PRE(HTML)[ A frameset document ]PRE] レンダリング例: [PRE[ ------------------------------------------ |Frame 1 |Frame 3 |Frame 4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -------------| | | |Frame 2 | | | | | | | | | | | ------------------------------------------ ]PRE] それぞれのフレームに [CODE(HTMLa)[src]] で指定された[[資源]]をレンダリングしたのが初期状態です。 [37] 同じ文書を参照する'''違法'''な例 [SRC[HTML 4 16.2.2.1、改]] [PRE(HTML)[ A frameset document ...some text... <H2><A name="ANCHOR_IN_SAME_DOCUMENT">Important section</A></H2> ...some text... ]PRE] この例では、2つめの [CODE(HTMLe)[frame]] で[[素片識別子]]だけの [[URI参照]]を指定しています。つまり、 [CODE(HTMLe)[[[noframes]]]] 要素内にある、指定された名前の [CODE(HTMLe)[a]] 要素を参照しているのですが、このような指定は'''違法'''とされています。 [[#comment]] ** メモ [[#comment]] *メモ