/[pub]/test/sw/ids/0/149.txt
Suika

Contents of /test/sw/ids/0/149.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Mon Nov 10 09:29:59 2008 UTC (17 years, 4 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/696672616D65.txt>

1 wakaba 1.1 * [CODE(HTMLe)@en[iframe]] 要素 (HTML)
2    
3     [7] [[HTML]] の [DFN[[CODE(HTMLe)[iframe]] 要素型]]の要素は、
4     文章中に[[フレーム]]を挿入します。
5    
6     [8] 仕様書:
7     - [[HTML 4]]
8     -- 16.5 Inline frames: the [CODE(HTMLe)[IFRAME]] element
9     <IW:HTML4:"present/frames.html#idx-frame-7">
10    
11     [9]
12     :状態:[[W3C]] [[勧告]]、[[WHATWG]] [[勧告案]]
13     :[[局所名]]:[CODE(HTMLe)[[[iframe]]]]
14     ([Q@en[inline frame]] ([Q[行内フレーム]]) より)
15     :[[名前空間URI]]:[CODE(URI)@en[[[http://www.w3.org/1999/xhtml]]]]
16     :[[開始タグ]]:必須
17     :[[終了タグ]]:必須
18     :出現できる文脈:[CODE(SGML)[%[[inline]]]] な文脈
19     :[[内容模型]]:[CODE(SGML)[(%[[flow]])*]]
20     :[[属性]]:
21     ,属性名 ,属性値 ,既定値 ,説明 ,状態 ,出典
22     ,[CODE(HTMLa)[[[align]]]] ,[CODE(SGML)[%[[IAlign]]]] , ,配置 ,[HTML 4] 非推奨
23     ,[CODE(HTMLa)@en[[[allowcrossdomainxhr]]]],,,非標準,[[Air]]
24     ,[CODE(HTMLa)[[[allowtransparency]]]] , , ,背景透明性 ,非標準
25     ,[CODE(HTMLa)@en[[[application]]]],[CODE(HTML)@en[[[on]]]] | [CODE(HTMLe)@en[[[off]]]],,,非標準,[[HTA]]
26     ,[CODE(HTMLa)[[[border]]]] , , ,境界線 ,非標準
27     ,[CODE(HTMLa)[[[bordercolor]]]] ,[CODE(SGML)[%[[Color]]]] , ,境界線色 ,非標準
28     ,[CODE(HTMLa)[[[class]]]] , ,(なし) ,級 ,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
29     ,[CODE(HTMLa)[[[datafld]]]] , , ,データ欄 ,非標準
30     ,[CODE(HTMLa)[[[datasrc]]]] ,[CODE(SGML)[%[[URI]]]] , ,データ源 ,非標準
31     ,[CODE(HTMLa)@en[[[documentroot]]]],,,非標準,[[Air]]
32     ,[CODE(HTMLa)[[[frameborder]]]] , ,[CODE(HTML)[1]] ,枠線 ,[HTML 4]
33     ,[CODE(HTMLa)[[[height]]]] ,[CODE(SGML)[%[[Length]]]] , ,フレームの高さ ,[HTML 4]
34     ,[CODE(HTMLa)[[[hspace]]]] , , ,横余白 ,非標準
35     ,[CODE(HTMLa)[[[id]]]] ,[CODE(SGML)[[[ID]]]] ,(なし) ,固有識別子 ,[HTML 4] [CODE(SGML)[%coreattrs]]
36     ,[CODE(HTMLa)[[[longdesc]]]] ,[CODE(SGML)[%[[URI]]]] ,(なし) ,長い説明へのリンク ,[HTML 4]
37     ,[CODE(HTMLa)[[[marginheight]]]] ,[CODE(SGML)[%[[Pixels]]]] , ,余白高さ ,[HTML 4]
38     ,[CODE(HTMLa)[[[marginwidth]]]] ,[CODE(SGML)[%[[Pixels]]]] , ,余白幅 ,[HTML 4]
39     ,[CODE(HTMLa)[[[name]]]] , ,(なし) ,フレーム名 ,[HTML 4]
40     ,[CODE(HTMLa)@en[[[ondominitialize]]]],,,非標準,[[Air]]
41     ,[CODE(HTMLa)@en[[[sandboxroot]]]],,,非標準,[[Air]]
42     ,[CODE(HTMLa)[[[scrolling]]]] , ,[CODE(HTML)[auto]] ,Scroll bar ,[HTML 4]
43     ,[CODE(HTMLa)[[[security]]]] , , ,安全上の扱い ,非標準 ,[[WinIE]]
44     ,[CODE(HTMLa)[[[src]]]] ,[CODE(SGML)[%[[URI]]]] ,(なし) ,フレーム内容 ,[HTML 4]
45     ,[CODE(HTMLa)[[[style]]]] , ,(なし) ,スタイル指定 ,[HTML 4] [CODE(SGML)[%coreattrs]]
46     ,[CODE(HTMLa)[[[title]]]] ,[CODE(SGML)[%[[Text]]]] ,(なし) ,注釈的題 ,[HTML 4] [CODE(SGML)[%coreattrs]]
47     ,[CODE(HTMLa)[[[vspace]]]] , , ,縦余白 ,非標準
48     ,[CODE(HTMLa)[[[width]]]] ,[CODE(SGML)[%[[Length]]]] , ,フレームの幅 ,[HTML 4]
49     ,[CODE(XMLa)[[[xmlns]]]] ,[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] 固定 ,== ,[[名前空間名]] ,W3C 勧告 ,[[XHTML m12n]]
50    
51    
52     [[#comment]]
53    
54    
55     ** 内容
56    
57     [11] [CODE(HTMLe)[iframe]] 要素の内容は、未対応 UA
58     や不使用設定の UA だけが表示するべきです [SRC[HTML 4 16.5]]。
59    
60     [[#comment]]
61    
62    
63     ** レンダリング
64    
65     [13] 行内フレームは大きさを変更できません。ですから [CODE(HTMLa)[[[noresize]]]]
66     属性はありません。 [SRC[HTML 4 16.5]]
67    
68     [14] HTML 4 は >>13 としていますが、利用者の便を考えれば、
69     UA は寸法変更機能を設けた方が良いかもしれません。
70    
71     [[#comment]]
72    
73    
74     ** 実装
75    
76     [3] そういえば昔、 [[WinIE 5]] の頃、 [CODE(HTMLe)[iframe]] 内に表示されている文書の [CODE(HTMLe)[[[title]]]] が
77     [[window]] の [[title bar]] に表示されるというバグ
78     [WEAK[([[M$]] は[[仕様]]だと言い張るかもしれんが。)]] がありましたね。
79     そのバグ、今でもあるのかなあ?
80    
81     [[#comment]]
82    
83    
84     ** 関連
85    
86     [12] [CODE(HTMLe)[[[object]]]] 要素型を使っても HTML
87     文書などを埋込むことができます。属性などは異なりますが、
88     レンダリングなどに関してはおおむねどちらを使っても同じです。
89     また、多くの UA では基本的に利用者から見て同じようになります。
90    
91     [[#comment]]
92    
93    
94     ** 安全性
95    
96     [15] [[フレーム]]一般と同じく、外部文書を埋込み、 [[DOM]]
97     などで相互に操作できることによって生じ得る保安上の問題に注意が必要です。
98     多くの UA では、異なるドメインでのスクリプトによる access
99     を禁止するなどの措置をとっています。
100     (現状では十分ではないという指摘もありますし、
101     あまり制限しすぎると自由度が失われるという問題もあります。)
102    
103     [1] 異なる[[ドメイン]]の参照は (大抵)
104     [[広告]]とかだし、ブラウザの設定で出来ないようにして欲しいなあ。
105    
106     [2] >>1 それを言うなら [CODE(HTMLe)[iframe]] 自体こうこっく(以下略)
107    
108     [19] [CODE(HTMLe)[[[img]]]] 要素などと同じように、
109     ごく小さな大きさを指定したり [[CSS]]
110     などにより非表示にしたりして閲覧者が気付かないうちに別の[[資源]]が読み込まれるように仕組むことができます。
111     [CODE(HTMLe)[[[img]]]] 要素の場合と同様に[[アクセス・カウンタ]]のような
112     (閲覧者にとって) 比較的無害な場合もあれば、
113     [[ブラクラ]]のような危険なものが埋め込まれる可能性もあります。
114     [[アクセス・カウンタ]]の類と一口に言っても、
115     単なる計数の場合もあれば、閲覧者の個人情報の収集を狙ったものである可能性もあり、
116     注意が必要なことには変わりありません。 >>18
117     の問題のように、外部のサイトに影響を与えさせることを狙った使用例もあります
118     (>>20)。
119    
120     [20] 注意: 単純な [CODE(HTTP)[[[GET]]]]
121     アクセスによって鯖側の状態に大きく影響を与えてしまう
122     ([[安全]]でない) のは [[REST]]
123     的に間違った実装であり、その外部サイトの側が [CODE(HTMLe)[[[iframe]]]]
124     で参照されるか否か以前の問題を抱えているとも言えます。
125     ただし >>18 のようなアクセス数を数えるという場合には必然的に
126     [CODE(HTTP)[[[GET]]]] でなければなりませんし、 [[REST]]
127     というか [[HTTP]] 的にも一応問題ないことになってはいるので、
128     難しい問題ではあります。
129    
130     [26] '''実例: 2ch からランク付け対象サイトへのリンク'''
131    
132     [CITE[2chにlivedoor秘書乙部Blogが埋め込まれている!]]
133     <http://blog.livedoor.jp/otobeorz/>
134    
135     [[アクセス数]]によって順位付けされている日記サイトへの
136     [CODE(HTMLe)@en[[[iframe]]]] を使った[[リンク]]が、
137     日記の著者とは無関係の第三者である [[2ch]]
138     の [[Web頁]]に含まれていました。
139     [[2ch]] は膨大な[[アクセス]]のある[[掲示板]]サイトで、
140     これによって、当該日記の順位は急上昇しました。
141    
142     [[2ch]] の[[管理者]]である[[ひろゆき]]は、
143     [[アクセス数]]の水増しのための不正があった場合に、
144     それが第三者によるものであってもその日記を削除するという日記システム管理者の方針が日記システム管理者の関係者であっても例外とされずに適用されるかを確かめたかったとしています。
145    
146     この事例は、技術的には
147     - 無関係な [[Web頁]]を[[利用者]]が気づかないうちに読込ませられるという
148     [[Webブラウザ]]実装上の問題
149     - 本来[[冪等]]で[[安全]]な [CODE(HTTP)@en[[[GET]]]]
150     [[要求]]で自動順位付けすることの是非
151    
152     社会的には
153     - [[アクセス数]]という表面的なもので順位付けしている愚かさ
154     - 悪意のある第三者によってシステム利用者が不利益を被り得る運用方法
155    
156     への注意を喚起しています。
157    
158     また、日記システム提供者の[[ライブドア]]は、
159     [CODE(HTMLe)@en[[[iframe]]]] により[[リンク]]に対して
160     [[JavaScript]] のコードによる[Q[報復]]を行っていますが、
161     やろうと思えばそれ以上にえげつないこともできました。
162    
163     [22] '''実例: mixi による閲覧者の特定'''
164    
165     - [23] [CITE[インターネット殺人事件 : 日記 : 2005-02]] <http://internet.kill.jp/d/200502.html#d14_t2>
166     - [24] [CITE[fladdict.net blog: MIXIを使った、トラフィックの個人追跡システム]]
167     <http://www.fladdict.net/blog-jp/archives/2005/12/mixi.php>
168    
169     会員制で、ある会員 [VAR@em[X]] がある内部の頁 [VAR@en[P[SUB[M]]]]
170     を閲覧したことを、 [VAR@en[P[SUB[M]]]] の著者である別の会員
171     [VAR@en[Y]] が知り得る機能 ([Q[[[足跡]]]]) が存在するサービス
172     [[mixi]] を悪用することで、 [VAR@en[Y]] は外部の Web
173     頁 [VAR@en[Q]] を閲覧した [[mixi]] 会員の個人情報を入手し得ます。
174    
175     機能を悪用する会員 [VAR@en[Y]] がよろしくないのは別として
176     [WEAK[(あるいは[Q[正当な利用]]だとの主張もできるかもしれませんがw)]]、
177     別の Web サイトに情報を送ることができる Web
178     ブラウザの実装にも、個人情報を半自動で [WEAK[(= 会員の意識しない間に)]]
179     記録する [[mixi]] のシステムにも問題があります。
180    
181     ;;
182     >>24 にコメントを書いている人が問題を軽視し過ぎなのが情けない。
183    
184     [[#comment]]
185    
186    
187     ** 知的財産権に関して
188    
189     [21] 埋め込み型リンクと著作権等との関係については
190     [CODE(HTMLe)[[[frame]]]] の項をご覧下さい。
191    
192     [[#comment]]
193    
194    
195     ** 不思議解釈
196    
197     [16] [Q[iframe]] は [Q[inline frame]] の略のようですから、
198     [Q[インライン・フレーム]]と読むのが適当でしょう。
199     省略形は省略形のまま読む派 (謎) なら [Q[アイ・フレーム]]
200     も許容範囲でしょう。
201    
202     中には[Q[イフレーム]]と読む人もいます。違和感ありまくりですが、
203     [Q[アイ・フレーム]]が良くて[Q[イフレーム]]は悪いとする理由はなさそうですから、
204     まあ良いでしょう。
205    
206     ところが、世間には[Q[イン・フレーム]]と読む人もいます。
207     確かに [Q[inline frame]] の省略としてあり得るものではありますが、
208     単なる[Q[イン]]と[Q[インライン]]では意味が随分違ってきます。
209     [Q[イン・フレーム]]と読むと[Q[フレームの中]]ととられても仕方がありません。
210     あるいは、頁の''中のフレーム''という意味と誤解していることからそう呼ぶのかもしれませんが、
211     もしそうだとしたら呆れるばかりです。
212    
213     [Q[インナー・フレーム]]なる用例も発見しました。
214     確かに頁の内側にあることには違いありませんが・・・。
215    
216     [17] 読み方のまとめ:
217     - ○ 行内フレーム
218     - ○ インライン・フレーム
219     - ○ アイ・フレーム
220     - × イフレーム
221     - × イン・フレーム
222     - × インナー・フレーム
223    
224     [25] '''[CODE(HTMLe)@en[iframe]] の代替内容に [CODE(HTMLe)@en[frame]]!?'''
225    
226     [[タグ講座]]の中には、
227    
228     >
229     [PRE(HTML invalid example code)[
230     <iframe width=150 height=200 src="blahblah.html">
231     <frame src="blahblah.html">
232     </iframe>
233     ]PRE]
234    
235     のように[[代替内容]]として [CODE(HTMLe)@en[[[frame]]]]
236     [[要素]]を入れろとしているものがあるそうです。
237    
238     ;; 出典:
239     - [CITE[<IFRAME>との出会い、そして克服 : Hotwired]]
240     ([[Zach Waller]] 著、1997年11月28日付け、日本語訳2005年12月現在)
241     <http://hotwired.goo.ne.jp/webmonkey/html/97/47/>
242     - [CITE@en[The IFrames Lowdown]]
243     ([[Zach Waller]] 著、2001年4月10日付け、2005年12月現在)
244     <http://hotwired.lycos.com/webmonkey/96/37/index2a_page5.html?tw=authoring>
245    
246     ;;
247     この出典の[[タグ講座]]もなかなか低品質だw
248     低品質なのに駄目出しされる元の[[タグ講座]]はどれだけ劣悪なのかww
249     ちなみにこの出典の[[タグ講座]]の日本語訳は翻訳がひどくて何が言いたいのかさっぱりわからないww
250    
251     [29]
252     [CITE[Safari Developer FAQ]] ([CODE[2006-12-31 11:40:00 +09:00]] 版) <http://developer.apple.com/jp/internet/safari/faq.html#anchor5>
253    
254     > SafariのBack/Forwardキャッシュ(訪れた人がブラウザの「戻る」ボタンや「進む」ボタンを押した時点から蓄積されるキャッシュ)も、ページにフレームを含めることによって阻止することができます。フレームベースのページは、Back/Forwardキャッシュには保存されず、非フレームベースのページも下に示す不可視のiframeを追加することによって同じように動作します。
255    
256     ([[名無しさん]])
257    
258     [32]
259     [Q[アイフレ]]と略す人もいるそうです。
260     ([[名無しさん]])
261    
262     [[#comment]]
263    
264    
265     ** 例
266    
267     [10] 単純な埋め込み例 [SRC[HTML 4 16.5]]
268     [PRE(HTML)[
269     <IFRAME src="foo.html" width="400" height="500"
270     scrolling="auto" frameborder="1">
271     [Your user agent does not support frames or is currently configured
272     not to display frames. However, you may visit
273     <A href="foo.html">the related document.</A>]
274     </IFRAME>
275     ]PRE]
276    
277     この例では、対応している UA は文章中に [SAMP(URI)[foo.html]]
278     を枠線付きで埋込みます。未対応 UA
279     は [CODE(HTMLe)[iframe]] の内容をレンダリングします。
280    
281     [[#comment]]
282    
283    
284     ** メモ
285    
286     [4] まじれすすると、 [CODE(HTMLe)[iframe]] 要素型は[[非推奨]]なので [CODE(HTMLe)[[[object]]]] 要素型を使いましょう。
287    
288     [5] >>4 または [[XHTML 2]] で [CODE(XHTMLa)[[[src]]]]
289     [[汎用属性]]という手もある。
290    
291     [6] しかし[[イフレーム]]はないだろう・・・。
292    
293     [18]
294     [[2ch]] から外部日記サイトへの [CODE(HTMLe)[[[iframe]]]]
295     による[[リンク]]の問題への言及における、[CODE(HTMLe)[[[iframe]]]]
296     によるリンクを指した表現:
297     - [Q[埋め込み]]: 結構多い。
298     - [Q[リンク]]: 結構多い。 2ch の一部のスレタイにも採用
299     (例: [CITE[【ネット】"なぜ?" 2ちゃんねるトップページに、ライブドア・乙部綾子ブログへの隠しリンク★4]])
300     - [Q[参照]]: ちらほら
301    
302     参考:
303     <IW:Google:"2ch 乙部 iframe">
304     (現時点では日が浅いので結果は然程多くない。)
305    
306     ([[名無しさん]] [WEAK[2005-05-13 10:15:37 +00:00]])
307    
308     [27]
309     [CITE[xkr.us / dom / Accessing the document inside an iframe]] <http://xkr.us/articles/dom/iframe-document/>
310     ([[名無しさん]] [WEAK[2006-10-21 02:10:17 +00:00]])
311    
312     [28]
313     [CITE[IFRAME を使わない方法の補足 | WWW WATCH]] <http://hyper-text.org/archives/2006/11/object_element.shtml>
314     ([[名無しさん]] [WEAK[2006-11-26 09:56:01 +00:00]])
315    
316     [30]
317     [CITE[Bug 80713 &#8211; Need a way to specify an auto-height for an IFRAME such that the frame is given the full height of the contained content]] ([CODE[2007-04-25 20:28:29 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=80713>
318     ([[名無しさん]] [WEAK[2007-04-25 11:37:12 +00:00]])
319    
320     [31]
321     [CITE[JavaScript インラインフレーム(iframe)関連 - とみぞーノート]] ([CODE[2007-05-10 21:44:39 +09:00]] 版) <http://wiki.bit-hive.com/tomizoo/pg/JavaScript%20%A5%A4%A5%F3%A5%E9%A5%A4%A5%F3%A5%D5%A5%EC%A1%BC%A5%E0(iframe)%B4%D8%CF%A2>
322     ([[名無しさん]] [WEAK[2007-05-10 12:46:51 +00:00]])
323    
324     [33]
325     [CITE[outsider reflex]] ([[Piro(SHIMODA Hiroshi)]] 著, [CODE[2008-03-01 12:23:54 +09:00]] 版) <http://piro.sakura.ne.jp/>
326     ([CODE(MIME)@en[[[text/html]]]])
327    
328     [PRE(HTML bad example code)[
329     <?xml version="1.0" encoding="Shift_JIS"?>
330     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
331     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
332     <!ENTITY % XLINK.xmlns.attrib "xmlns:xhtml2 CDATA #FIXED 'http://www.w3.org/2002/06/xhtml2'">
333     <!ENTITY % Inline.extra "| xhtml2:l | iframe">
334     <!ENTITY % newInlineContents "(#PCDATA|br|span|em|strong|dfn|code|samp|kbd|var|cite|abbr|acronym|q|sub|sup|bdo|a|img|map|object|input|select|textarea|label|button|ruby|ins|del|script|noscript|xhtml2:l)*">
335     <!ENTITY % coreAttributes "
336     id ID #IMPLIED
337     class CDATA #IMPLIED
338     style CDATA #IMPLIED
339     title CDATA #IMPLIED">
340     <!ELEMENT xhtml2:l %newInlineContents;>
341     <!ATTLIST xhtml2:l %coreAttributes;>
342     <!ELEMENT iframe %newInlineContents;>
343     <!ATTLIST iframe
344     %coreAttributes;
345     longdesc CDATA #IMPLIED
346     src CDATA #IMPLIED
347     frameborder ( 1 | 0 ) '1'
348     marginwidth CDATA #IMPLIED
349     marginheight CDATA #IMPLIED
350     scrolling ( yes | no | auto ) 'auto'
351     height CDATA #IMPLIED
352     width CDATA #IMPLIED
353     >
354     ]>
355     <html xmlns="http://www.w3.org/1999/xhtml"
356     xmlns:xhtml2="http://www.w3.org/2002/06/xhtml2"
357     xml:lang="ja">
358     ]PRE]
359    
360     ([[名無しさん]])
361    
362    
363     [34]
364     [CITE[The <iframe> element and sandboxing ideas]] ([[Ian Hickson <ian@...>]] 著, [TIME[2008-05-21 22:30:48 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/14191>
365     ([[名無しさん]])
366    
367    
368     [[#comment]]
369    
370    
371     * メモ

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24