/
591.txt
799 lines (677 loc) · 41.5 KB
/
591.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
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
[16] [DFN[[CODE(HTMLe)[embed]] 要素型]]は、
[[HTML]] 文書に外部の[RUBY[物体] [オブジェクト]]を埋込むための数ある方法の一つです。
[25] 現在では[[プラグイン]]の利用が少なくなってきているため、
[CODE(HTMLe)@en[[[embed]]]] [[要素]]が使われることも徐々に減ってきています。
[CODE(HTMLe)@en[[[embed]]]] [[要素]]の利用は禁止されても[[非推奨]]でもありませんが、
新しい[[文書]]や[[Webアプリケーション]]では避けるのが賢明でしょう。
* 仕様書
[REFS[
- [23] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#the-embed-element>'''
-- [54] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-02-09 02:07:40 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#embed-task-source>
- [137] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#HTMLEmbedElement-partial>
]REFS]
* 意味
[47] [CODE(HTMLe)@en[[[embed]]]] [[要素]]は、外部の[[応用]] (普通は [[HTML]] 以外)
や[[対話的]]な[[内容]]の[[統合点]]を提供するものです [SRC[>>23]]。
[48] [CODE(HTMLe)@en[[[embed]]]] [[要素]]は、[[プラグイン]]を[[表現]]するか、
何も[[表現]]しないかのいずれかです。
* 分類
[26] [CODE(HTMLe)@en[[[embed]]]] [[要素]]は次の通り分類されています。
[FIG(short list)[
- [[フロー内容]] [SRC[>>23]]
- [[語句内容]] [SRC[>>23]]
- [[埋め込み内容]] [SRC[>>23]]
- [[対話的内容]] [SRC[>>23]]
- [[触知可能内容]] [SRC[>>23]]
]FIG]
* タグ
[41] [[開始タグ]]は、必須です。
[42] [[void要素]]です。[[終了タグ]]は存在しません [SRC[>>23]]。
* 内容モデル
[40] [[内容モデル「なし」]]です [SRC[>>23]]。[[空白]]以外の[[テキスト]]や[[要素]]を[[子供]]として持つことはできません。
;; [18] 最初に [[Netscape]] が実装した時から、 [CODE(HTMLe)@en[[[embed]]]]
[[要素]]は [[void要素]]で、[[終了タグ]]を持つことはできませんでした。
しかし歴史的に [CODE(HTMLe)@en[[[embed]]]] [[要素]]の[[内容]]についてはなぜか諸説入り乱れていました。
[FIG(list)[
- [2] [[強制空要素]]である。 (このとき、 XHTML でない HTML
では[[終了タグ]]は使用できない。)
- [4] [CODE(HTMLe)[[[param]]]] 要素と[[代替内容]]を入れても良い。
([[HTML 3]] 案, [micropayment] の例文。
[CODE(HTMLe)[[[object]]]] 要素風。)
- [19] [CODE(HTMLe)[[[noembed]]]] 要素に限って入れても良い。
]FIG]
[CODE(HTMLe)@en[[[embed]]]] [[要素]]を使った例文や実際に使っている[[文書]]では、
[CODE(HTMLe)@en[[[embed]]]] [[要素]]の[[終了タグ]]が (意味もなく)
含まれていることがよくあります。
* 文脈
[27] [CODE(HTMLe)@en[[[embed]]]] [[要素]]は、
[[埋め込み内容]]が使える場所で使えます [SRC[>>23]]。[[語句内容]]や[[フロー内容]]が使える場所でも、
使えます。
[39] [[IE]] 向けに [[ActiveX control]] のための [CODE(HTMLe)@en[[[object]]]]
[[要素]]を書き、その[[内容]]として [[IE]] 以外向けに [[NPAPI]]
のための [CODE(HTMLe)@en[[[embed]]]] [[要素]]を書くのが90年代末から00年代の一般的な用法でした。
* 属性
[28] 現在の [[HTML Standard]] で認められているのは、次の[[属性]]です [SRC[>>23]]。
[FIG(short list)[
- [[大域属性]]
- [CODE(HTMLa)@en[[[src]]]]
- [CODE(HTMLa)@en[[[type]]]]
- [CODE(HTMLa)@en[[[width]]]]
- [CODE(HTMLa)@en[[[height]]]]
]FIG]
[127] その他、次の条件を''すべて''満たす[[属性]]を指定して構いません [SRC[>>23]]。
[FIG(list)[
- [128] [[null名前空間]]
- [129] [[属性名]]が [CODE(HTMLa)@en[[[name]]]], [CODE(HTMLa)@en[[[align]]]],
[CODE(HTMLa)@en[[[hspace]]]], [CODE(HTMLa)@en[[[vspace]]]] のいずれでもない
- [130] [[属性名]]が[[XML互換]]
- [131] [[属性名]]に[[ASCII大文字]]を含まない
]FIG]
;;
[1] [[HTML]] が [[SGML]] や [[XML]] と [[DTD]] で規定されていた時代には、
これは[[標準化]]とは相容れないものでした。
([[文書型宣言]]で[[内部サブセット]]を使うとか、そもそも全部織り込み済みの
DTD を用意するとかの方法はあるにはあるが。。。)
それが [CODE(HTMLe)@en[[[embed]]]] [[要素]]が長年標準化されなかった理由の1つでもありました。
当時は現実世界での用法よりも、理論的整合性が重視されていました。
[14]
,[[align]] ,[[align]] , ,配置 ,[NN]
,[CODE(HTMLa)@en[[[alt]]]] ,[CODE(SGML)@en[%[[Text]]]] ,(なし) ,[[代替文]] ,非標準
,[[border]] ,[[length]] , ,枠線の太さ ,[NN]
,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[XHTML1e] %[[coreattr]] ⊂ %[[attrs]]
,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[XHTML1e] %[[i18n]] ⊂ %attrs
,[[frameborder]] ,no , ,枠線有無 ,[NN]
,[CODE(HTMLa)[[[height]]]] ,[CODE(SGML)[%[[Length]]]] , ,表示上の高さ ,"[NN], [XHTML1e]"
,[[hidden]] ,tf , ,非表示 ,[NN]
,hidden ,([[真偽値属性]]) ,(偽) ,非表示 ,"[QT], [DP2]"
,[[hspace]] ,length , ,左右余白 ,[NN]
,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[XHTML1e] %coreattr ⊂ %attrs
,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[XHTML1e] %i18n ⊂ %attrs
,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1e] %i18n ⊂ %attrs
,[[name]] ,[CODE(SGML)[[[NMTOKEN]]]] , ,要素の名前 ,"[NC4+], [XHTML1e]"
,[CODE(HTMLa)[[[onclick]]]] , , , ,[XHTML1e] %[[events]] ⊂ %attrs
,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onmousemove]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[XHTML1e] %events ⊂ %attrs
,[CODE(HTMLa)[[[palette]]]] ,"\"foreground\" / \"background\"" ,"\"background\"" ,使用パレット ,[NC4 Win]
,[[pluginspage]] ,URI , ,プラグイン入手頁 URI ,[NC4+]
,[[pluginsuurl]] ,URI , ,プラグイン JAR URI ,[NC4]
,[CODE(HTMLa)@en[[[pluginurl]]]] ,[CODE(SGML)@en[%[[URI]]]] , , ,非標準 ,
,[CODE(HTMLa)[[[src]]]] ,[[URI]] ,(なし) ,埋め込み資源の URI ,"[NN], [XHTML1e]"
,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[XHTML1e] %coreattr ⊂ %attrs
,[CODE(HTMLa)[[[tabindex]]]] , , , ,[XHTML1e]
,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,"[micropayment], [XHTML1e] %coreattr ⊂ %attrs"
,[CODE(HTMLa)[[[type]]]] ,[[媒体型]] , ,埋め込み資源の型 ,"[NN], [XHTML1e]"
,[[units]] , , ,単位 ,[NN]
,[[vspace]] ,[[length]] , ,上下余白 ,[NN]
,[CODE(HTMLa)[[[width]]]] ,[CODE(SGML)[%[[Length]]]] , ,表示上の幅 ,"[NN], [XHTML1e]"
[13] [XHTML1e] については >>10 を参照。
([CODE(HTMLa)[src]] 属性はなんと [CODE(SGML)[#[[IMPLIED]]]]!)
比較的共通なプラグイン依存属性:
,autoplay ,tf ,利用者設定 ,自動演奏開始 ,[QT 3+]
,[[bgcolor]] ,[[<color>]] , ,背景色 ,"[QT 3+], [Director]"
,loop ,loop-value ,false ,繰り返し ,"[QT 3+], [Flash], [DP2]"
プラグイン固有属性:
,[[accesskey]] ,1*CHAR , ,access 鍵 ,[micropayment]
,[CODE(HTMLa)@en[[[airplay]]]]
,[CODE(HTMLa)[[[akt]]]] ,[CODE(SGML)[%[[Text]]]] , ,[[代替文]]
,[CODE(HTMLa)@en[[[allownetworking]]]]
,[CODE(HTMLa)@en[[[allowscriptaccess]]]]
,[[archive]] ,URI , , ,[Java]
,autohref ,tf ,false ,href を自動的に読み込む ,[QT 4+]
,autogourl , , , ,[Real]
,[CODE(HTMLa)@en[[[autosize]]]] ,[CODE(HTML example)[-1]]
,autostart ,tf ,false ,自動開始
,[CODE(HTMLa)[[[backcolor]]]] ,6HEXDIGIT / 1*DIGIT , ,背景色 ,"[QTView], [Blender]"
,backgroundcolor ,[[<color>]] , ,背景色 ,[Real]
,baseurl ,URI / URIのもと , ,基底 URI ,[micropayment]
,buyid ,URI , ,識別子 ,[micropayment]
,cache ,tf ,利用者設定 ,キャッシュ保存 ,[QT 3+]
,[[code]] ,[[URI]] , , ,[Java]
,[[codebase]] ,[[URI]] , , ,[Java]
,center ,tf , , ,[Real]
,[[charset]] ,charset , ,リンク先 charset ,[micropayment]
,[CODE(HTMLa)@en[[[connection_name_txt0]]]]
,console ,one
,controller ,tf ,形式依存 ,制御部表示 ,[QT 3+]
,controls , , , ,[Real]
,correction ,full
,[CODE(HTMLa@en[[[custommode]]]],,,,[[DivX]]
,cwidth ,1*DIGIT , ,行文字数 (単位:[[en]]) ,[QTView]
,[CODE(HTMLa)@en[[[dashboard]]]]
,[CODE(HTMLa)@en[[[designtimesp]]]] ,[CODE(HTML example)[5311]]
,[CODE(HTMLa)@en[[[display_config_error_txt0]]]]
,[CODE(HTMLa)@en[[[display_connect_msg_txt0]]]]
,[CODE(HTMLa)@en[[[display_connect_fallback_msg_txt0]]]]
,[CODE(HTMLa)@en[[[display_ie_patch_check_txt0]]]]
,[CODE(HTMLa)@en[[[display_os_patch_check_txt0]]]]
,[CODE(HTMLa)@en[[[display_pf_check_txt0]]]]
,[CODE(HTMLa)@en[[[display_process_check_txt0]]]]
,[CODE(HTMLa)@en[[[display_registry_check_txt0]]]]
,[CODE(HTMLa)@en[[[display_routing_changes_txt0]]]]
,[CODE(HTMLa)@en[[[displaysize]]]] ,[CODE(HTML example)[4]]
,[CODE(HTMLa)@en[[[dns0]]]]
,[CODE(HTMLa)@en[[[dnssuffix0]]]]
,[CODE(HTMLa)@en[[[dns_split0]]]]
,dontflattenwhensaving ,(dontflattenwhensaving) , ,「独立保存」制限 ,[QT 4+]
,duration ,1*DIGIT , , ,[micropayment]
,enablejavascript ,tf ,false ,[[JavaScript]] 有効化 ,[QT 4+]
,endtime ,qt-frame ,全時間 ,終了 frame ,[QT 4+]
,[CODE(HTMLa)[[[exhalation]]]] ,([[真偽値属性]]) ,([[偽]]) , ,[DP2]
,expiration ,[[W3C-DTD]] , ,有効期限 ,[micropayment]
,extdata ,URI , ,拡張データ ,[micropayment]
,extdataparm ,CDATA , ,拡張データの引数 ,[micropayment]
,filename ,URI , ,データ URI ,[MYRIAD]
,[CODE(HTMLa)@en[[[firepassserver0]]]]
,[CODE(HTMLa)[[[flashvars]]]] , , ,[[Flash]] 用変数 ,[Flash]
,font ,CDATA , ,フォント ,[QTView]
,[CODE(HTMLa)[[[font]]]] ,[SAMP(HTML)[20]] , ,字の寸法? (点単位?) ,[DP2]
,[CODE(HTMLa)[[[forecolor]]]] ,6HEXDIGIT / 1*DIGIT , ,前景色 ,"[QTView], [Blender]"
,fov ,8
,[CODE(HTMLa)[[[framerate]]]] ,[SAMP(HTML)[20]] <= [CODE(HTML)[100]] , , ,[Blender]
,[CODE(HTMLa)[[[freq]]]] ,[SAMP(HTML)[50]] , , ,[DP2]
,goto[VAR[n]] ,qtnext[VAR[n]] 参照とあるけど、単なる属性値? ,== ,== ,[QT 4+]
,[CODE(HTMLa)@en[[[gzipdeflate0]]]]
,[CODE(HTMLa)[[[hidden]]]] ,([[真偽値属性]]) , , ,[SSTP]
,[CODE(HTMLa)@en[[[host0]]]]
,hotspot[VAR[n]] ,URI , ,熱点 [VAR[n]] のリンク先 ,[QT 3+]
,[[href]] ,URI , ,リンク先 ,"[QT 3+], [Acrobat]"
,[[hreflang]] ,[[言語札]] , ,リンク先言語 ,[micropayment]
,imagelink ,URI , ,始点アンカー画像 ,[micropayment]
,[CODE(HTMLa)[[[inc]]]] ,[SAMP(HTML)[200]] , , ,[DP2]
,kioskmode ,tf ,false ,kiosk mode ,[QT 4+]
,[CODE(HTMLa)@en[[[lan0]]]]
,[CODE(HTMLa)[[[loadingurl]]]] ,URI , ,読み込む [[URL]] ,[Blender]
,longdesc ,URI , ,説明文書 ,[micropayment]
,[CODE(HTMLa)@en[[[mastersound]]]] ,([[真偽値属性]]) ,([[偽]]) , ,非標準
,menu ,tf , ,補助メニュー ,[Flash]
,merchantname ,CDATA , ,merchant 名 ,[micropayment]
,[CODE(HTMLa)@en[[[mime-type]]]]
,molecule
,moviename , , ,wired movie 名 ,[QT 4+]
,movieid ,1*DIGIT , ,wired movie 番号 ,[QT 4+]
,node ,1*DIGIT ,データ内値 ,初期 node 番号 ,[QT 3+]
,nojava ,tf ,false ,Java''Script'' ,[Real]
,[[object]] , , , ,[Java]
,[CODE(HTMLa)[[[off]]]] ,[SAMP(HTML)[2]] , , ,[DP2]
,[CODE(HTMLa)[[[on]]]] ,[SAMP(HTML)[5]] , , ,[DP2]
,[CODE(HTMLa)@en[[[palette]]]] , , , ,非標準
,pan ,"1*DIGIT (\"0\"〜\"365\")" ,データ内値 ,pan 初期値 (単位:度) ,[QT 3+]
,panel ,0
,play ,tf , ,自動再生 ,[Flash]
,playeveryframe ,tf ,false ,全 frame 再生 ,[QT 3+]
,[CODE(HTMLa)[[[port]]]] ,[CODE(ABNF)['A' /.../ 'D']] , ,ポート ,[DP2]
,[CODE(HTMLa)@en[[[port0]]]]
,[CODE(HTMLa)[[[power]]]] ,[SAMP(HTML)[5]] , ,揺れの強さ? ,[DP2]
,prefetch ,tf , , ,[Real]
,price ,(単位付き実数) , ,価格 ,[micropayment]
,[CODE(HTMLa)@en[[[processtimeout0]]]]
,progress ,tf , ,進捗度表示 ,[DIRECTOR]
,[CODE(HTMLa)@en[[[resources]]]]
,qtnext[VAR[n]] ,CDATA , ,次動作 (URI)。 [VAR[n]] = 0〜255 ,[QT 4+]
,qtsrc ,URI ,src 属性値 ,資源 URI (src 値及び媒体型を無視) ,[QT 4+]
,qtsrcchokespeed ,1*DIGIT ,利用者設定 ,再生速度 (単位:[[bps]]) ,[QT 4+]
,qtsrcdontusebrowser ,(qtsrcdontusebrowser) / tf ,false ,qtsrc 値を QT が取り寄せ ,[QT 4+]
,quality ,flash-quality , ,品質 [Flash]
,[CODE(HTMLa)@en[[[random_data0]]]]
,repeat ,tf / 1*DIGIT , ,繰り返し ,[MIDPLUG]
,requesturl ,URI ,必須 , ,[micropayment]
,[CODE(HTMLa)[[[salign]]]]
,save ,tf ,true ,保存可能 ,
,scale ,qt-scale ,1 ,大きさ調整 (数値は倍率) ,[QT 3+]
,scale ,[SAMP(HTML)[noborder]] , , ,[Flash]
,[CODE(HTMLa)[[[scrollamount]]]] ,[SAMP(HTML)[1]] , ,Scroll 量 ,[DP2]
,[CODE(HTMLa)[[[scrolldelay]]]] ,[SAMP(HTML)[60]] , ,Scroll 遅延 (秒単位?) ,[DP2]
,[CODE(HTMLa)@en[[[session_id]]]]
,[CODE(HTMLa)@en[[[showcontrols]]]] ,[CODE(HTML example)[-1]]
,[CODE(HTMLa)@en[[[showdisplay]]]] ,[CODE(HTML example)[-1]]
,[CODE(HTMLa)@en[[[showpostplaybacked]]]],,,,[[DivX]]
,[CODE(HTMLa)@en[[[showstatusbar]]]] ,[CODE(HTML example)[-1]]
,[CODE(HTMLa)@en[[[showtracker]]]] ,[CODE(HTML example)[-1]]
,[CODE(HTMLa)[[[slot]]]] ,[SAMP(HTML)[1]] , ,スロット ,[DP2]
,[CODE(HTMLa)@en[[[sourceelement]]]],,,,非標準,[[XAML]]
,starttime ,qt-time ,00:00:00 ,開始 frame ,[QT 4+]
,swLiveConnect ,tf , , ,[Flash]
,swRemote ,CDATA , , ,[DIRECTOR]
,swStretchStyle ,[SAMP(HTML)[none]] , , ,[DIRECTOR]
,target ,[[%FrameTarget;]] ,_self ,開く窓/枠の名前 ,"[QT 3+], [micropayment]"
,target[VAR[n]] ,frame-name ,_self ,開く窓/枠の名前 ,[QT 3+]
,targetcache ,tf ,false ,対象を cache するか ,[QT 4+]
,[CODE(HTMLa)[[[target_server]]]] , , ,対象先 ,[SSTP]
,[CODE(HTMLa)[[[text]]]] ,[CODE(SGML)[CDATA]] ,(必須) ,表示文字列 ,"[MIDPLUG], [DP2]"
,textlink ,CDATA , ,始点アンカー文字列 ,[micropayment]
,tilt ,"[\"-\"] 1*2DIGIT [\".\" DIGIT]" ,データ内値 ,初期 tilt 値 ,[QT 4+]
,[CODE(HTMLa)@en[[[tunnel_host0]]]]
,[CODE(HTMLa)@en[[[tunnel_port0]]]]
,[CODE(HTMLa)@en[[[units]]]] , , , ,非標準
,url ,URI , , ,[Java]
,urlsubstitute ,CDATA , ,URI 置換 ,[QT 4+]
,[CODE(HTMLa)@en[[[ur_clsid]]]]
,[CODE(HTMLa)@en[[[ur_clsid_host]]]]
,[CODE(HTMLa)@en[[[ur_clsid_proxy]]]]
,[CODE(HTMLa)@en[[[ur_clsid_proxy_9x_new]]]]
,[CODE(HTMLa)@en[[[ur_clsid_urhost]]]]
,[CODE(HTMLa)@en[[[ur_codebase]]]]
,[CODE(HTMLa)@en[[[ur_codebase_host]]]]
,[CODE(HTMLa)@en[[[ur_codebase_proxy]]]]
,[CODE(HTMLa)@en[[[ur_codebase_proxy_9x_new]]]]
,[CODE(HTMLa)@en[[[ur_codebase_urhost]]]]
,[CODE(HTMLa)@en[[[ur_connect]]]]
,[CODE(HTMLa)@en[[[ur_name]]]]
,[CODE(HTMLa)@en[[[ur_plugin_encoding]]]]
,[CODE(HTMLa)@en[[[ur_powermanagement]]]]
,[CODE(HTMLa)@en[[[ur_sidhash]]]]
,[CODE(HTMLa)@en[[[ur_ui_url]]]]
,[CODE(HTMLa)@en[[[ur_z]]]]
,[CODE(HTMLa)[[[usefilebackcolor]]]] ,[SAMP(HTML)[1]] ,(利用者指定) ,背景色の使用
,[CODE(HTMLa)@en[[[videoborder3d]]]] ,[CODE(HTML example)[-1]]
,volume ,1*3DIGIT ,100 ,音量 ,[QT 3+]
,wmode ,[SAMP(HTML)[opaque]] , ,背景? ,[Flash]
,[VAR[n]].mpname ,CDATA , ,[VAR[n]] (正整数) 番の支払システム名 ,[micropayment]
,[VAR[n]].mp[VAR[*]] ,CDATA , ,[VAR[n]] 番支払システムの引数 ,[micropayment]
- tf = "true" / "false"
- qt-time = minute ":" second ":" frame ;; 12:34:12.5
- minute = second = 1*2DIGIT
- frame = 2DIGIT "." DIGIT
- qt-scale = "tofit" / "aspect" / 1*DIGIT ["." 1*DIGIT]
- flash-quality = "best" / "high" / "autohigh" / "autolow" / "low"
- loop-value = 1*DIGIT / tf / "palindrome" / "infiite" / "-1" ;; 指定可能な書式は plugin により様々。
- [QT] ''QuickTime - EMBEDタグ'' <http://www.apple.co.jp/quicktime/authoring/embed.html>: [[QuickTime]]
の [CODE(HTML)[EMBED]] 要素で使う属性の説明あり。
-- [CODE(HTML)[BGCOLOR]] は 3+ で16進数表記, 4+ で基本16色名対応。
-- [CODE(HTML)[TARGET]] 属性の値が [CODE(ABNF)["quicktimeplayer"]]
の時は、 [CODE(HTML)[HREF]] 属性が必須で、外部 QT 窓でその URI
の資源が開かれます。 [QT 4+]
-- [CODE(HTML)[TARGET]] 属性の値は一般に、 [CODE(HTML)[HREF]]
属性値の資源を開く時の窓の名前です。
-- [CODE(HTML)[TILT]] 属性値の絶対値は [CODE[42.5]] 以下でなければなりません。
説明では値はそもそも整数値でないといけないと書いてありますが、その次の行ですぐに実例をもって否定しています(w
-- [CODE(HTML)[HREF]] 属性値の[[基底URI]]は''開かれてる資源''になります。
- [CODE(HTML)[WIDTH]] == [CODE(HTML)[HEIGHT]] == [CODE(HTML)[1]] だと非表示になるらしい (ほんとか?)
-- 素直に [CODE(HTML)[0]] にしたらいいのに。
-- [QT] によれば、特定のブラウザでは [CODE(HTML)[2]] にすると問題が起こるらしい。
-- 幅・高さは表示時は必須。
-- 幅などの指定があっても [CODE(HTML)[HIDDEN=TRUE]] なら非表示。
- [CODE(HTML)[LOOP]] 属性は多くの plugin が実装していますが、指定できる値はものにより異なります。既定値もものや設定で異なるかもしれません。
- この調子で情報を増やしていったらプラグイン一覧になってしまうんだろうか...
[22]
>>13 [DP2] のように、 [CODE(HTMLe)[embed]] 要素を単に拡張機能の placeholder として使うことがあるらしいです。
その場合には埋込むべき [CODE(HTMLa)[src]]
が無いことになります。
[XHTML1e] がそのような場合を想定して [CODE(SGML)[IMPLIED]] で宣言したのかどうかは分かりませんけれどもね。
* [CODE(DOMi)@en[HTMLEmbedElement]] インターフェイス
[44] [CODE(HTMLe)@en[[[embed]]]] [[要素]]の[[要素インターフェイス]]は、
[DFN[[CODE(DOMi)@en[[[HTMLEmbedElement]]]]]] [[インターフェイス]]です [SRC[>>23]]。
[45] [CODE(DOMi)@en[[[HTMLEmbedElement]]]] [[インターフェイス]]は、
[CODE(DOMi)@en[[[HTMLElement]]]] [[インターフェイス]]を[[継承]]しています [SRC[>>23]]。
[43] 次のメンバーがあります。
[FIG(list short)[
- [CODE(DOMm)@en[[[getSVGDocument]]]]
- [CODE(DOMa)@en[[[height]]]]
- [CODE(DOMa)@en[[[src]]]]
- [CODE(DOMa)@en[[[type]]]]
- [CODE(DOMa)@en[[[width]]]]
- [CODE(DOMa)@en[[[name]]]] ([[廃止]])
- [CODE(DOMa)@en[[[align]]]] ([[廃止]])
- [CODE(IDL)@en[[[legacycaller]]]]
]FIG]
,[CODE(DOMa)@en[[[hidden]]]],"[CODE(DOMi)@en[[[HTMLElement]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[palette]]]],"[CODE(DOMi)@en[[[HTMLElement]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[pluginspage]]]],"[CODE(DOMi)@en[[[HTMLElement]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[units]]]],"[CODE(DOMi)@en[[[HTMLElement]]]] ([[Trident]])"
[46] [CODE(HTMLe)@en[[[embed]]]] [[要素]]が表すものに依存して、他の[[インターフェイス]]も[[実装]]できます [SRC[>>23]]。[[実現値化]]された[[プラグイン]]が[[スクリプト可能]]な[[インターフェイス]]があれば、これを晒さなければ[['''なりません''']] [SRC[>>23]]。
* 状態
[135] [[HTML要素]]としての状態に加えて、次の [CODE(HTMLe)@en[[[embed]]]]
[[要素]]固有の状態を持ちます。
[FIG(list members)[
:[[表現]]するもの:[[プラグイン]]か[[入れ子閲覧文脈]]のいずれかです。
:[[プラグイン]]の[[実現値]]:[[プラグイン]]が[[実現値化]]されている場合、その[[実現値]]です。
:[[入れ子閲覧文脈]]:[[入れ子閲覧文脈]]に関連付けられている場合。
:[[potentially active]]:>>65
]FIG]
* 処理
[74] 次の場面で何らかの処理を行う必要があります。
[FIG(list short)[
- [[要素の挿入]]
- [[要素の削除]]
- [[属性の追加]]
- [[属性の設定]]
- [[属性の変更]]
- [[属性の削除]]
- [[完全に活性]]の変化
- [[レンダリング中]]の変化
- [[event loop step 1]] 絡み
- [CODE(HTMLe)@en[[[object]]]] [[要素]]の[[表現]]するものの変化
]FIG]
具体的には次の通りです。
[65] 次の条件を''すべて''満たす時、 [DFN[[[potentially active]]]] といいます [SRC[>>23]]。
[FIG(list)[
- [66] 現時点で、または直近の [[event loop step 1]] 時点で [[in a [CODE(DOMi)@en[Document]]]]
である
- [67] [[節点文書]]が[[完全に活性]]である
- [68] [CODE(HTMLa)@en[[[src]]]] [[属性]]と [CODE(HTMLa)@en[[[type]]]]
[[属性]]の一方または両方が設定されている
- [69] [CODE(HTMLa)@en[[[src]]]] [[属性]]が指定されていないか、
[[空文字列]]''以外''が指定されている
- [70] [[祖先]]に[[媒体要素]]がない
- [71] [[祖先]]に[[フォールバック内容]]を表示していない [CODE(HTMLe)@en[[[object]]]]
[[要素]]がない
- [72] 現時点で、または直近の [[event loop step 1]] 時点で[[レンダリング中]]である
]FIG]
[49] 次の場合には、 [[the [CODE(HTMLe)@en[embed]] element setup steps]]
を[[埋め込みタスク源]]で実行する[[タスク]]を[[タスクキューに追加]]しなければ[['''なりません''']] [SRC[>>23]]。
[FIG(list)[
- [51] 非 [[potentially active]] から [[potentially active]] に変化した時
- [52] [[potentially active]] であって非 [[potentially active]] には変化しないものの、
[CODE(HTMLa)@en[[[src]]]] [[属性]]が設定、変更、削除された時
- [53] [[potentially active]] であって非 [[potentially active]] には変化しないものの、
[CODE(HTMLa)@en[[[type]]]] [[属性]]が設定、変更、削除された時
]FIG]
[58] 更に、
[FIG(list)[
- [59] [CODE(HTMLa)@en[[[src]]]] [[属性]]と [CODE(HTMLa)@en[[[type]]]]
[[属性]]のどちらもが指定されていない
- [61] [[媒体要素]]を[[祖先]]として持つ
- [62] [[フォールバック内容]]を表示しない [CODE(HTMLe)@en[[[object]]]]
[[要素]]を[[祖先]]として持つ
]FIG]
... の''いずれか''の状態となったら、
[FIG(steps)[
= [63] [[プラグイン]]を[[実現値化]]していれば、これを削除しなければ[['''なりません''']]。
= [64] [[要素]]は何も[[表現]]しなくなります。
]FIG]
;; [108] [[入れ子閲覧文脈]]がある場合、それは破棄しないようです。
しかし何も[[表現]]しなくなります。
[115] [[potentially active]] から非 [[potentially active]]
となった時は、[[実現値化]]された[[プラグイン]]があれば、 [[unload]]
しなければ[['''なりません''']] [SRC[>>23]]。
;; [75] 「削除」も「unload」も未定義語であり、どう違うのかは不明です。
[55] [DFN[[RUBYB[埋め込みタスク源]@en[embed task source]]]] [SRC[>>54]]
は、 [CODE(HTMLe)@en[[[embed]]]] [[要素]]の
[CODE(HTMLa)@en[[[src]]]] [[属性]]の値を解釈する[[タスク]]のための[[タスク源]]です。
[76] [DFN[the [CODE(HTMLe)@en[embed]] element setup steps]] は、次の通りです [SRC[>>23]]。
[FIG(steps)[
= [77] 本[[要素]]に関する本手順の[[タスク]]が他に[[タスクキュー]]に追加されているなら、
ここで停止します。
= [78] [CODE(HTMLa)@en[[[src]]]] [[属性]]があれば、
== [79] [[属性値]]の[[URLの解決]]を行います。
== [80] 解決が成功したら、
=== [81] 得られた[[絶対URL]]を [[fetch]] する[['''べきです''']]。
[[要素]]の[[閲覧文脈適用範囲起源]]があれば、呼び出し元の[[起源]]として使います。
= [82] [CODE(HTMLa)@en[[[src]]]] [[属性]]がなければ、
== [83] [CODE(HTMLa)@en[[[type]]]] [[属性]]の値に基づき適切な[[プラグイン]]を探し、
[[実現値化]]する[['''べきです''']]。
== [84] 本[[要素]]は、その[[プラグイン]]の[[実現値]]を[[表現]]します。
== [85] [[プラグイン]]を完全に読み込んだら、 [CODE(DOMe)@en[[[load]]]]
[[イベント]]の処理 (>>110) を行います。
]FIG]
[110] [CODE(DOMe)@en[[[load]]]] [[イベント]]の処理とは、
次の[[タスク]]を[[タスクキューに追加]]するものです。
[FIG(list members)[
[FIGCAPTION[
[[タスク]]
]FIGCAPTION]
:[[タスク源]]:[[DOM操作タスク源]]
:処理:
= [86] [[単純イベントを発火]]します。
[FIG(list members short)[
[FIGCAPTION[
[[単純イベント]]
]FIGCAPTION]
:[[イベント型]]:[CODE(DOMe)@en[[[load]]]]
:[[対象]]:[CODE(HTMLe)@en[[[embed]]]] [[要素]]
]FIG]
]FIG]
* プラグインのための fetch
[121] [[fetch]] を行う場合、これは [[delay the load event]] しなければ[['''なりません''']] [SRC[>>23]]。
[122] [[入れ子閲覧文脈]]を[[表現]]する場合には、
[FIG(list)[
- [123] [[入れ子閲覧文脈]]の[[活性文書]]が [[ready for post-load tasks]]
でない場合
- [124] [[入れ子閲覧文脈]]の[[活性文書]]を [[delay the load event]]
するものがある時
- [125] [[入れ子閲覧文脈]]が [[delaying [CODE(DOMe)@en[load]] events mode]]
の時
]FIG]
... は、 [[delay the load event]] しなければ[['''なりません''']] [SRC[>>23]]。
;; [126] [[同じ起源]]かどうかの検査は行われないようです。
[87] [CODE(HTMLa)@en[[[src]]]] [[属性]]がある場合の [[fetch]] では、
[[process response]] は次の処理 [SRC[>>23]] です。
[FIG(steps)[
= [88] 本[[要素]]について [[the [CODE(HTMLe)@en[embed]] element task source]]
が他に[[タスクキューに追加]]されていれば、ここで停止します。
= [89] 埋め込む[[内容の型]]を決定します (>>90)。
= [95] [[内容の型]]が [CODE(MIME)@en[[[image/svg+xml]]]] なら、
== [96] 本[[要素]]が[[入れ子閲覧文脈]]に関連付けられていないなら、
=== [97] [[閲覧文脈を作成]]します。
=== [98] [[要素]]と[[閲覧文脈]]を関連付けします。
=== [99] [[要素]]に [CODE(HTMLa)@en[[[name]]]] [[属性]]があれば、
[[閲覧文脈]]の[[閲覧文脈名]]を、 [CODE(HTMLa)@en[[[name]]]] [[属性]]に設定します。
== [101] [[navigate]] します。
[FIG(list members)[
:[[資源]]:[[fetch]] した[[資源]]
:[[閲覧文脈]]:作成した[[入れ子閲覧文脈]]
:[[始点閲覧文脈]]:[CODE(HTMLe)@en[[[embed]]]] [[要素]]の[[節点文書]]の[[閲覧文脈]]
:[[置換有効]]:[[真]]
]FIG]
== [102] 本[[要素]]は[[入れ子閲覧文脈]]を[[表現]]します。
== [112] [[資源]]を完全に読み込んだら、 [CODE(DOMe)@en[[[load]]]]
[[イベント]]の処理 (>>110) を行います。
= [103] それ以外の場合、
== [104] [[内容の型]]に基づき適切な[[プラグイン]]を探し、[[実現値化]]します。
== [105] その[[プラグイン]]により[[資源]]の内容を処理させます。
== [106] なお既に他の[[プラグイン]]が[[実現値化]]されていたなら、それは新しい[[プラグイン]]により置き換えます。
== [107] 本[[要素]]は新しい[[プラグイン]]の[[実現値]]を[[表現]]します。
== [111] [[プラグイン]]を完全に読み込んだら、 [CODE(DOMe)@en[[[load]]]]
[[イベント]]の処理 (>>110) を行います。
]FIG]
;; [109] [[閲覧文脈]]から[[プラグイン]]に[[表現]]するものが変わった場合、
[[閲覧文脈]]は破棄されないようです。
* プラグインの選択と実現値化
[90] 埋め込む[RUBYB[内容の型]@en[type of the content]]は、次のように決めなければ[['''なりません''']] [SRC[>>23]]。
[FIG(steps)[
= [91] [CODE(HTMLa)@en[[[type]]]] [[属性]]があって、
[[プラグイン]]が対応する[[型]]を示していれば、それが[[内容の型]]です [SRC[>>23]]。停止します。
= [92] ([[リダイレクト]]されていればその後の最終的な) [[資源]]の [[URL]]
に [[URLの構文解析]]を行い、 [[path]] が[[プラグイン]]の対応するパターンと一致するなら、
その[[プラグイン]]が処理できる型が[[内容の型]]です [SRC[>>23]]。
([[拡張子]]によって型を決められます。) 停止します。
= [93] [[資源]]に[[明示的Content-Typeメタデータ]]があれば、
これが[[内容の型]]です [SRC[>>23]]。停止します。
= [94] [[内容の型]]はなく、適切な[[プラグイン]]はありません [SRC[>>23]]。
]FIG]
;; [113] [[fetch]] が成功したかどうか ([[状態符号]]) は無視されます [SRC[>>23]]。
[[ネットワークエラー]]の取り扱いは不明確ですが、 >>94 となると思われます。
;; [114] [[プラグイン]]が存在しない状況はありません。
適切なものがなければ[RUBYB[[[既定プラグイン]]]@en[default plugin]]が使われます [SRC[>>23]]。
これはただ単に「未対応の形式」のようなメッセージを表示するだけのもので構いません [SRC[>>23]]。
[116] [[プラグイン]]の[[実現値化]]に当たり、
[[プラグインの砂箱化]]を行う場合で[[保安プラグイン]]化できない場合には、
[FIG(list)[
- [117] [[プラグイン]]を[[実現値化]]するかわりに、[[プラグイン]]が無効化されていることを示す[[レンダリング]]を行わなければ[['''なりません''']] [SRC[>>23]]。
- [118] [[利用者]]が[[砂箱化]]を無視して[[プラグイン]]を[[実現値化]]する手段を提供して構いません [SRC[>>23]]。
-- [120] [[保安プラグイン]]とできないということは[[砂箱化]]による制限が適用されないかもしれないことを意味していますから、
[[利用者エージェント]]はその危険性を[[利用者]]に説明する[['''べきです''']] [SRC[>>23]]。
- [119] その場合には、本規定が適用されない場合と同様に処理しなければ[['''なりません''']] [SRC[>>23]]。
]FIG]
[132] [[利用者エージェント]]は、[[実現値化]]の際に[[プラグイン]]に、
[[null名前空間]]の[[属性]]すべての名前と値を渡す[['''べきです''']] [SRC[>>23]]。
;; [136] 名前と値の組の順序は規定されていません。 ([CODE(HTMLe)@en[[[object]]]]
[[要素]]では追加順です。)
[133] [[プラグイン]]の具体的な[[実現値化]]の方法や[[Webブラウザー]]と[[プラグイン]]との間の
[[API]] は、[[Webブラウザー]]に依存します。
;; [[プラグイン]]を参照。
[134] [CODE(HTMLe)@en[[[object]]]] [[要素]]の処理では[[プラグイン]]がエラーを報告した場合の処理が規定されていますが、
[CODE(HTMLe)@en[[[embed]]]] [[要素]]では言及がありません。エラーの旨の表示をかわりに[[レンダリング]]するべきと思われます。
* レンダリング
[29] '''Bidi との関係''':
[CODE(HTMLe)[[[embed]]]] [[要素]]は、 [[bidi]]
的には方向性に関して[[中立]]な[[文字]]1[[文字]]であるかのように扱います。
方向について特に配慮が必要なら
前後に [CODE(char)[[[LRM]]]] や [CODE(char)[[[RLM]]]]
を使えます。 [SRC[SI 4281 6.1.4]]
[[#comment]]
** 安全性, アクセス可能性, 利用可能性
[30] [CODE(HTMLe)[[[object]]]] 要素の解説を参照。
* 歴史
[24] [CODE(HTMLe)[embed]] 要素型は、 [[NN2]] で実装された[[プラグイン]]を実現するための
HTML の[[タグ]]としてよく知られていますが、
それと前後して、一般の[[埋込みリンク]]の手段として
[[ietf-html]] や [[W3C]] で検討されていました。
しかし、互換性など種々の問題から [[IETF]] や W3C
で [CODE(HTMLe)[embed]] 要素型が標準化されて公式な仕様に取入れられることは結局ありませんでした。
(一般の埋込みリンクの方法には [CODE(HTMLe)[[[object]]]]
要素型が標準化されました。)
[36]
[CITE[Plug-ins and HTML]] ([CODE[2007-02-28 00:44:32 +09:00]] 版) <http://web.archive.org/web/19970617231407/home.netscape.com/eng/mozilla/3.0/handbook/plugins/pr2.htm>
([[名無しさん]])
[37]
[CITE[Introducing Netscape Navigator 2.0]] ([CODE[2007-02-28 01:10:22 +09:00]] 版) <http://web.archive.org/web/19970613221240/www82.netscape.com/comprod/products/navigator/version_2.0/ole_support/index.html>
([[名無しさん]])
[38]
[CITE[Introducing Netscape Navigator 2.0]] ([TIME[2007-02-28 01:10:22 +09:00]] 版) <http://web.archive.org/web/19970613221240/www82.netscape.com/comprod/products/navigator/version_2.0/ole_support/index.html>
[7] [micropayment]
''Common Markup for [[micropayment]] per-fee-links''
<http://www.w3.org/TR/Micropayment-Markup#Appendix%201>
は、 [CODE(HTML)[[[object]]]], [CODE(HTML)[[[applet]]]]
要素型での [[per-fee-links]] の使い方に加えて、
[CODE(HTML)[embed]] 要素型での使い方も、非推奨としながらも説明しています。
- [QTView] ''縦書きビューアQTView'' <http://www2k.biglobe.ne.jp/~araken/qtview.htm>
- [MYRIAD] ''MYRIAD ブラウザプラグインのHTMLについて'' <http://www.nsxpres.com/myriad/faq-0001.html>
- [DP2] [[ドリームパスポート2]]
- [SSTP] [CITE[SSTP ブラウザ Plug-in for Windows しゃべらせ方]]
<http://puyogmt.hp.infoseek.co.jp/program/sbp_man.html>
[32]
[CITE[Emacs-w3 User's Manual - Supported Markup Languages]] ([CODE[1996-01-22 06:02:45 +09:00]] 版) <http://www.informatik.uni-hamburg.de/RZ/software/emacs/w3/w3_2.html#SEC6>
([[名無しさん]])
[33]
[CITE[Repository - markup - w3: w3/lisp/w3-parse.el]] ([CODE[2007-01-08 19:07:25 +09:00]] 版) <http://cvs.savannah.gnu.org/viewcvs/w3/lisp/w3-parse.el?rev=1.22&root=w3&view=auto>
>
[PRE[
;; The old parser would look for the </EMBED> end-tag and include
;; the contents between <EMBED> and </EMBED> as the DATA attribute
;; of the EMBED start-tag. However, it did not require the
;; </EMBED> end-tag and did nothing if it was missing. This is
;; completely impossible to specify in SGML.
]PRE]
([[名無しさん]])
[34]
[CITE[Member w3/w3-parse.el of archive w3-2.2.26.tar.gz]] ([CODE[2007-01-08 20:02:21 +09:00]] 版) <http://fresh.t-systems-sfr.com/unix/src/www/w3-2.2.26.tar.gz:a/w3/w3-parse.el>
[REFS[
- [NC4] ''Plug-in Basics'' <http://developer.netscape.com/docs/manuals/communicator/plugin/basic.htm#1005628>
- [[SI 4281]]:1998
<http://www.qsm.co.il/Hebrew/si4281e.htm>
-- [CSECTION[6.1.4 Elements with no directionality]]
- [XHTML1e] >>10
]REFS]
[35]
[CITE@en[draft-ietf-html-cda-00]] ([CODE[2007-01-27 23:58:39 +09:00]] 版) <http://tools.ietf.org/html/draft-ietf-html-cda-00>
[6] [CODE(HTMLe)@en[[[embed]]]] [[要素]]は何度か仕様案に登場しながらも、
結局 [[HTML5]] まで約10年間[[標準化]]されることはありませんでした。
しかし実際にはよく使われる[[要素]]であったため、世間では様々な使い方がなされ、
解釈には混乱 (例えば >>18) もありました。
** XHTML 1.0 Transitional plus Embed
[10]
[[W3C]] は、 [[XHTML 1.0]] [[Transitional]] [[DTD]]
に [CODE(HTMLe)[embed]] 要素型を追加した DTD
を <http://www.w3.org/Graphics/xhtml1-transitional-plus-embed.dtd>
で公開しています。
- [CODE(SGML)[PUBLIC "-//CL//DTD XHTML 1.0 Transitional plus Embed//EN"]]
- [CODE(SGML)[SYSTEM "http://www.w3.org/Graphics/xhtml1-transitional-plus-embed.dtd"]]
- Revision: 1.1
- Date: 2002/10/31 05:00:16
この DTD は XHTML 1.0 [[SE]] の DTD と、 [CODE(HTMLe)[embed]]
の追加を除いて同じです。 (意図の良く分からない整形 (空白の挿入・削除) はありますが。)
[11] この DTD では [CODE(HTMLe)[embed]] 要素型は
[CODE(SGML)[%special.extra]] の一員で、 [CODE(HTMLe)[[[object]]]]
や [CODE(HTMLe)[[[applet]]]] と同格になっています。
[12] 内容模型は [CODE(SGML)[[[EMPTY]]]]
とされています。 [CODE(SGML)[%[[attrs]]]]
のほか、6種類の属性が定義されており、
他の属性は[[内部部分集合]]で宣言するべき (should)
との注釈があります。
[15] ''W3C Scalable Vector Graphics (SVG) Test Suite'' <http://www.w3.org/Graphics/SVG/Test/> がこの DTD を参照しています。
(おそらくこの Test Suite のために書かれたDTD
なのでしょう。)
** Q & A
[31] '''Q: W3C は [CODE(HTMLe)[object]] 要素を導入したが、 Netscape は [CODE(HTMLe)[embed]] 要素を勝手に使って Microsoft もそれに従ったというのは本当ですか?'''
A: 違います。
[[IETF]] や [[W3C]] は [CODE(HTMLe)[[[img]]]] や
[CODE(HTMLe)[[[app]]]] などの [[HTML]]
への[[物体]]の埋込みに一般的に対処する [CODE(HTMLe)[embed]] や
[CODE(HTMLe)[[[include]]]] を検討していました。
[[Netscape]] は[[プラグイン]]のために [CODE(HTMLe)[embed]]
を実装しましたが、 [[attribute soup]] を含めて問題があるものでした。
そのため [[W3C]] は [CODE(HTMLe)[embed]] の標準化を断念し、
[CODE(HTMLe)[[[object]]]] の標準化を進めました。
その後 [[Microsoft]] は [[Active X]] のために
[CODE(HTMLe)[[[object]]]] を実装しました
[WEAK[(もっともその実装も酷いものでした[AA[orz]])]]。
** 不思議解釈
[3] [CODE(HTMLe)[embed]] [[タグ]]は
[CODE(HTMLe)[[[bgsound]]]] タグ, [CODE(HTMLe)[[[object]]]]
タグと並んで [[BGM]] のタグらしいです(w
[17] [CODE(HTMLe)[embed]] 要素型では任意の属性をプラグインへの引数として指定できます
([[attribute soup]])。このような仕様自体が非 SGML
的であるとされています。
** HTML5
[21] [CODE(HTMLe)@en[[[embed]]]] [[要素]]は、 [[HTML5]] (現在の [[HTML Standard]])
で初めて (10年ぶりに) 正式な形で正確に標準化されることとなりました。
[5312] [CITE[Popular attributes of the EMBED element]] ([TIME[2008-11-27 19:40:02 +09:00]] 版) <http://devfiles.myopera.com/articles/589/embedattribs.htm>
[5313] [CITE[<embed> feedback]] ([[Ian Hickson <ian@...>]] 著, [TIME[2008-07-24 08:12:11 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/14698>
[5314] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-09-20 21:54:26 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=3919&to=3920>
[5315] [CITE@en[Web Applications 1.0 r6915 Define the legacycaller behaviour of <embed> and <object>.]]
( ([TIME[2012-01-26 07:49:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6914&to=6915>
[5316] [CITE[''''''[''''''whatwg'''''']'''''' instantiating display:none plugins]]
( ([TIME[2012-05-09 07:31:08 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-May/035724.html>
[5317] [CITE@en[Web Applications 1.0 r7101 Sad as it may be, CSS affects whether plugins are instantiated -- part two, <embed>. also, typo fix.]]
( ([TIME[2012-05-09 06:26:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7100&to=7101>
[5318] [CITE@en[Web Applications 1.0 r7389 Fix <embed>'s algorithm, since I apparently wrote this backwards.]]
( ([TIME[2012-09-21 15:15:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7388&to=7389>
[5319] [CITE@en[Web Applications 1.0 r7914 pushing <embed>'s specification further towards its reality]]
( ([TIME[2013-06-06 08:24:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7913&to=7914>
[5320] [CITE@en[Web Applications 1.0 r8378 Make <embed> fire load events. (This is not complete. See bug 24214 for more that needs doing here.)]]
( ([TIME[2014-01-07 08:19:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8377&to=8378>
[5321] [CITE@en-US[Techniques for WCAG 2.0]]
( ([TIME[2014-03-11 23:08:17 +09:00]] 版))
<http://www.w3.org/TR/2014/NOTE-WCAG20-TECHS-20140311/complete.html#H46>
[5322] [CITE[New HTML 3.0 Proposals]]
( ([TIME[2014-04-07 08:08:01 +09:00]] 版))
<http://web.archive.org/web/19970806103517/http://www31.netscape.com/assist/net_sites/new_html3_prop.html>
[5323] [CITE[Welcome to Netscape Navigator Version 1.1]]
( ([TIME[2014-04-07 08:51:57 +09:00]] 版))
<http://web.archive.org/web/20030203042026/http://wp.netscape.com/eng/mozilla/1.1/relnotes/windows-1.1.html#Images>
[5324] [CITE[Embed Tag Demonstration]]
( ([TIME[2014-04-07 08:52:06 +09:00]] 版))
<http://web.archive.org/web/20030203065853/http://wp.netscape.com/assist/net_sites/embed_tag.html>
[FIG(quote)[
[FIGCAPTION[
[8] [CITE[三川村郷土誌(旧和歌山県大塔村)]]
([TIME[2007-11-10 00:29:48 +09:00]] 版)
<http://www16.plala.or.jp/mikawamura/otanosimi/fukatani/1wakaremiti/sinfukatani.htm>
]FIGCAPTION]
> <EMBED src="sinfukatani.wmv" width="400" height="300" autostart="true" autosize="true" showcontrols="false" playcount="1" autoplay="true" scale="aspect" controller="false" loop="false" type="video/x-ms-wmv">
]FIG]
[9] [CITE@en[730768 – embed tag pointing to text/html content doesn't work]]
([TIME[2015-06-02 13:39:20 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=730768>
[REFS[
- [73] [CITE@en[Web Applications 1.0 r7119 Fix <embed> to match reality (Firefox in particular) more closely.]] ([TIME[2012-06-06 06:12:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=7118&to=7119>
- [56] [CITE@en[Web Applications 1.0 r7703 Better match reality, however weird it is.]] ([TIME[2013-02-08 04:40:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=7702&to=7703>
]REFS]
[57] >>56 でひどいながらも、と[[埋め込みタスク源]]が追加されました。 [[Gecko]] や [[Opera]] の動作に基づいており、
[[Chrome]] の動作はこの点で正しくないようです。