y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

ブラウザObject、ActiveXの実行制限について

ActiveXに関する訴訟の影響で、フラッシュなどのActiveXオブジェクトの実行にワンクッション操作が入るようになった。
ActiveXコントロールをブラウザオブジェクトとして使うためには、Objectタグ(IE)やEmbedタグ(Netscape)が使われてきた。(両2大ブラウザに対応するために、2種類のコードを併記)
Objectタグで埋め込んだActiveXでは、コントロールに特化したプロパティを設定して細かく動きを制御するのであるが、不用意にクリックしてしまうと勝手にインストールしてしまったり、セキュリティが問題視されてきた。一方Embedの方は、あくまでも添付ファイルを開くためのプラグインを指定するだけであり、”プラグインが正しくインストールされている”という前提で動作する仕様。
最近では(二通りのやり方が横行しているのは美しくないということで)、HTML 4.01/XHTML1.0 Transitionalの規格に従って、DOMのノードとして扱えるようにしようという動きになってきているらしい。(真偽のほどは知らん)
このあたりの説明はここ→マルチメディアファイルをXHTMLに埋め込む

・・でとにもかくにもObject,Embedなどのタグを使っている場合、動作に制限が加えられるということで、既存のページを修正する手間が発生。
Microsoft Internet Explorer の ActiveX 更新プログラム KB912945
※Plugin.ocxを削除してしまうという豪快なアップデートですな。

対応策の例→新しいJavascriptの使い方を考える
Javascript++かも MSIEのパッチKB912945のナイスな対応策
Adobe アクティブコンテンツのアップデートに関する記事
Real InternetExplorerの仕様変更に伴うエンベッドプレイヤーの挙動

結局、ObjectやEmbedタグを外部Javascriptで書き込めばOKという結論になるのかな。
※しかしながら、IE7がイントラWebに及ぼす(かもしれない)甚大な影響が怖い。たぶん、IEがインターネットブラウザとして使われる以上、ActiveXなどの”プログラムとしてWebを動かす場合の拡張機能”が、いろいろな形で制限されるであることは想像に難くない。