« Vista の「Windows エクスペリエンス インデックス」のスコア | メイン | SNS (ソーシャルネットワーキングサービス)再開しました。 »

ActiveX コントロールのアクティブ化

Windows XP以上、IEを利用のユーザーで Windows Update [KB912945]のパッチを当てられているユーザーは現在、従来の方法でOBJECTタグを使って表示させる方法で、Flashを使うと、以下のような表示がされ、一度、クリックし、ActiveXを有効化する操作が必要になる。これはセキュリティー上の対策としての名目でこのような動作仕様となっているが、ある米国の会社の訴訟により、このような仕様に変更させられる結果になったようだ。ユーザーにとっては不便極まりない。

クリックするとこのコントロールをアクティブにして使用します

ただ、この動作は回避することが可能です。JavaScript のdocument.writeを使うことにより、この問題を回避できるとの情報があります。
<ActiveX コントロールのアクティブ化>
http://www.microsoft.com/japan/msdn/workshop/author/dhtml/overview/activating_activex.aspx
<Active Content Update Article>
http://www.adobe.com/devnet/activecontent/articles/devletter.html

Microsoft社 の上記のウェブサイトに記載している情報と Adobe 社で提供しているJavaScriptを使って以下の手順で後半のようなサンプルを作ってみた。

▼JavaScriptの外部ファイル(.jsファイル)
http://nuts-choco.com/test/object/scripts.zip

具体的な修正例:

1. まず、上記のサンプルファイルを解凍し、任意の場所に保存し、ヘッダーに、外部のJava Scriptを読み込む記述を行います。

<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script src="Scripts/AC_ActiveX.js" type="text/javascript"></script>

2. 次に、Flashを表示させる箇所に以下のような記述を行います。

■Java Script を使った表示

※ スクリプト内の AC_FL_RunContent ('  中略  '); //end AC code は表示の都合上、改行を行っていますが、実際は改行せずに記述ください。

<script type="text/javascript">
AC_FL_RunContent( 'codebase'
,'http://fpdownload.macromedia.com 中略 /swflash.cab#version=8,0,0,0',
'width','200','height','101','src','swf/test','quality','high','pluginspage'
,'http://www.macromedia.com/go/getflashplayer','movie','swf/test' ); //end AC code
</script>

■ <object > を使った従来の表示
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com 中略 swflash.cab#version=8,0,0,0" width="200" height="101" id="object" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="swf/test.swf" />
    <param name="quality" value="high" />
    <embed src="swf/test.swf" quality="high" bgcolor="#ffffff" width="200" height="101"  allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

3. 元々、JavaScriptを無効にされている方もいるので、その場合Flashが見れなくなりますので<noscript></noscript>タグ内に<OBJECT> タグの情報を書き込みます。
 
4. 完成したものが以下のサンプルです。もちろん、[KB912945]を適用されていない方には違いが分かりません。

▼サンプル
http://nuts-choco.com/test/object/

トラックバック

このエントリーのトラックバックURL:
http://nuts-choco.com/mt/mt-tb.cgi/35

About

2007年03月08日 23:46に投稿されたエントリーのページです。

ひとつ前の投稿は「Vista の「Windows エクスペリエンス インデックス」のスコア」です。

次の投稿は「SNS (ソーシャルネットワーキングサービス)再開しました。」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.
Powered by
Movable Type 3.34