IEのActiveX対応について

[新着] Webテンプレートを仮オープンしました



0   名前: レイン : 2006/09/08(金) 22:00
MSの特許侵害訴訟におけるActiveX対応について、開発者の皆さんの対応方法を聞かせてください。

対応するにはまず、HTMLに書かれたOBJECT、EMBED、APPLETタグを外部JSファイルに書き換えると思いますが、
そのときに
1.document.writeで書き出す
2.outerHTMLで書き出す
3.document.createElementで書き出す
のどれを使ってますか?

どれもMSDNで提示している方法ではありますが、それぞれのメリット・デメリットなどあるのでしょうか。

教えてください。

1   名前: F : 2006/09/08(金) 22:00
>>対応するにはまず、HTMLに書かれたOBJECT、EMBED、APPLETタグを外部JSファイルに書き換えると思いますが、
 テキスト以外のリソース(オブジェクト)を文書内に埋め込むためにはOBJECT要素を使うほうが好ましいと思うので、なぜそういう結論になるのかご説明願います。

参考)
http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/objects.html#h-13.3
http://www.zspc.com/documents/wcag10/#gl-new-technologies

#下記スレッド(記事番号81,82)との関連かな?
http://www.tagindex.com/cgi-lib/bbs/patio.cgi?mode=view&no=25

2   名前: 神崎 : 2006/09/08(金) 22:00
> Fさん
objectタグを使うとFlashアニメーションが始まらなくなるからです。

> 1.document.writeで書き出す
ですね。
createElementはdocument.writeよりもドキュメントの生成に時間がかかるというのがありますし、
タグ属性やパラメーターの指定とかがかなりめんどくさいです。
もとのHTMLからコピペ+クォーテーションのエスケープだけで作り直せますし。
趣味のページならわざわざスクリプトで書こうとは思いませんが。

というか、「外部ファイル」にしないと行けないのかしら?

内容は質問と言うよりも雑談かアンケートっぽいですが。

------------
> IE 以外にも影響がありうるのですが
これはActiveXの起動方法に問題があるらしいので、IE以外のブラウザは問題ないらしいです。
> ActiveX 技術が特に標的にされた
まぁ、つまりはこういうことなんでしょうけどね(^^;

Flash関連の話題で、
http://www.mozilla-japan.org/kb/solution/2092
WinFFのFlashPlayerに脆弱性が見つかってるので、更新されてない方は更新どぞ。

3   名前: レイン : 2006/09/08(金) 22:00
回答ありがとうございます。

Fさん
WinIEに関して、OBJECTなど記述があるとき、
ワンクリックしないと次の動作に移れないというパッチがリリースされました。
そのための対策として、OBJECTタグをそのままJSで書き出して外部ファイルにしたいのです。
OBJECTタグを使用しないわけじゃないんです。
うまく説明できてなくてスミマセン。

神崎さん
document.writeなんですね。
私もそれか、outerHTMLのどちらかが使いやすい(修正しやすい)と思ってます。
が、どっちにしようか踏ん切りがつかなくて・・・

>というか、「外部ファイル」にしないと行けないのかしら?
単純にdocument.writeするだけじゃダメなんですよね?
それとも全く別の、外部ファイルにしなくても良い方法、知ってますか?

4   名前: Pid : 2006/09/08(金) 22:00
Eolas プラグイン特許は (a) HTML に記述された (b) ネットワーク上のリソースを (c) ブラウザが自動的に (d) プラグインで外部アプリケーションを起動して (e) 埋め込み表示する,というのがキモだと思います。ですから,この問題は IE 以外にも影響がありうるのですが,ActiveX 技術が特に標的にされた,というのが私の理解です。

※間違い・誤解がありましたらご指摘下さい m(_ _)m。

この特許の回避策として,「じゃあ,HTML には記述しないで外部スクリプトが書き出してやれば良いんだろ」ということで (a) の回避,「それ以外は,自動ではなく確認ダイアログを出せば良いんだろ」ということで (c) の回避,という冗談のような方法が,2003 年に Microsoft から提案されました。今回の IE 用パッチで,それが現実となったわけです(まあ,影響が大きいのは WinIE 専用の業務用 Web アプリでしょうし,その分野では早くから対応がなされていたはず)。

>>1
IE の object 要素はほぼ ActiveX 専用ですから,applet や embed をまだ捨てられない,という腐った事情があります。

>>2
補足させて頂きますと,DOM ツリー操作よりも,write や outerHTML などの文字列操作の方が,処理時間としては遅いです。ただ,write は HTML の「読み込み中に」書き込めるため,実時間で考えるなら速いかもしれません。

もっとも write は,外部ファイルを読み込み終えて実際に write されるまで,文書全体のレンダリングが一旦停止されます。それを考えるなら,defer 属性を付けた script 要素で,後から createElement した方が体感速度としては速いかもしれません(createElement と outer/innerHTML は,比較的自由なタイミングで文書操作できます)。

しかし,IE(特に 5.5 以下)の createElement ('object') 周辺はバグ地雷地帯です。後方互換を重視するなら,文字列で書き出した方が安全かもしれません(なお,outerHTML/innerHTML は,もともと IE 独自の非公式プロパティです)。

そういうわけで,ケースバイケースだと私は思います(というか,こんなアドホックな対処をしたくない)。

5   名前: F : 2006/09/08(金) 22:00
 レインさん、神崎さん、Pidさん、ご説明ありがとうございます。

>>2
>>objectタグを使うとFlashアニメーションが始まらなくなるからです。

>>3
>>ワンクリックしないと次の動作に移れないというパッチがリリースされました。
 BGMもそうですが、以前ページを見に行くといきなり始まってとめられなかったりして困ったことがありますので、ワンクッションが付くのもいいかなと思ったりします。
 今ではインターネットエクスプローラのセキュリティを「高」にして閲覧していますので、Flashアニメーションがブロックされて表示されないことの方が多く、今回のパッチが来ても「だから何?」というのが正直な印象です。

>>4
 まあ元々W3CとMicrosoftは規格をめぐって攻防戦を続けているようなので(Microsoftの技術仕様書によるHTMLはW3Cから見れば「規格に準拠しない」ことになるでしょうから)、そのタネがまた増えたといった感じではないでしょうか。

「開発者」じゃないので(技術系メーリングリストやもじら組みたいなところの方が解決策がたくさん提示されやすいかも)、回答も何も出来ませんが「だったら聞くな」というのはご勘弁を(>>0に対して純粋に>>1の疑問がわいた為聞き返させていただいたので)。

6   名前: Pid : 2006/09/08(金) 22:00
>>5
> W3CとMicrosoftは規格をめぐって攻防戦を続けているようなので

Microsoft は W3C のメンバーですし,Microsoft 提案の draft もありますよ。

7   名前: F : 2006/09/08(金) 22:00
 あ、それは失礼。じゃあ現在は協力体制なのですね。
 marquee要素などが批判されていたのは昔の話ということですか。

 でも、だったらCSSにしろobject要素にしろ規格に適合した実装をしてしかるべきだと思うのは私だけ?

#肝心の問題は解決したの?>レインさん
#参考:http://1st-q.jpn.org/point.html

8   名前: レイン : 2006/09/08(金) 22:00
返事遅くなってスミマセン!
みなさまご意見ありがとうございます。

この件についてはいろいろと問題(疑問?不満?)がありますが、
ほっとけばいいというコトでもないので、
当方としてはdocument.writeで対策をとることにしました。

それにしても、ホント、手間のかかる作業ですね・・・。

9   名前: マリオ : 2006/09/08(金) 22:00  ID:AWrawb74
wi-Fiコネションに接続するため、Activexをインストールしたいんですが、
どうしてもできません。

10   名前: m035 ◆Wpzr1YKOiq : 2006/09/08(金) 22:00  [URL]  ID:zNhOw7FQ
>>9
ここはあくまでもWeb製作に関する質問をする場所ですよ。
>MSの特許侵害訴訟におけるActiveX対応について、開発者の皆さんの対応方法を聞かせてください。
というこのスレッドに関係があるのでしょうか?

それと、他の人の立てたスレッドに便乗しない方が良いです。
スレッドは後の資源になりますし・・・。

一覧へ戻る