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

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

  • Posted by: 00px管理者
  • 2006年10月 3日 10:29
  • Flash
  • このエントリーをはてなブックマークに追加 Save This Page to del.icio.us このエントリーをlivedoorクリップに追加 このエントリーをニフティクリップに追加 このエントリーをBuzzurlに追加このエントリーをBuzzurlに追加 このエントリーをBlogPeople Tagsに追加 このエントリーをBlogPeople Instant Bookmarkに追加 このエントリーをPingKingポッケに追加 このエントリーをFC2ブックマークへ追加 このエントリーをnewsingへ追加 このエントリーをYahoo!ブックマークに追加

「 このコントロールをアクティブ化して使用するにはクリックしてください。 」

Webページに配置されたFlashコンテンツの周りにグレーの線がついて、上記のようなメッセージが出る事があります。

問題は「ActiveX コントロールのアクティブ化」←コレです。
コントロールのアクティブ化の理解
対話型コントロール とは、ユーザー インターフェイスを提供する ActiveX コントロールのことです。Web ページで ActiveX コントロールの読み込みに APPLET、EMBED、または OBJECT 要素が使用される場合、コントロールのユーザー インターフェイスはユーザーがアクティブ化するまでブロックされています。ページでこれらの要素を使用して複数のコントロールが読み込まれる場合、各対話型コントロールを個別にアクティブ化する必要があります。

具体的には、Windows Media PlayerやFlash PlayerなどをIE上で表示させる際に、その上でユーザーがボタンなどを操作する前に、操作を許可する動作がワンクッション必要となる。例えば、embedタグ、objectタグ、それにappletタグで組み込み表示させたWebページでは、「このコントロールをアクティブ化して使用するにはクリックしてください」というバルーンヘルプが出るようになるのだ。参考:超だるログ





オンマウスでグレーの枠線が出て「このコントロールをアクティブ化して使用するにはクリックしてください」と言われます。
一度クリックすると、Flashムービーが動くようになります。

今後Microsoftが提供するブラウザでは、このやり方がスタンダードになる可能性が高いです。

ここではそれらを回避する方法の内のいくつかを紹介したいと思います。

1、 FlashやAppletを.js外部ファイルで書き出す

 HTMLをJavaScriptで書き出すやり方はいろいろありますが、最も簡単でブラウザ依存の少ない安全な方法はdocument.write()メソッドを使う方法です。


上に表示されているFlashコンテンツは上記方法を利用しました。


JSファイルを作成し、以下内容を記述します。
簡単に言うと、メモ帳で以下内容を自分の環境に合わせて編集。
保存するときに”ファイルの種類”を”すべてのファイル”に変更して
”button.txt”となる所を”button.js”に変更して保存。

実際使用したソースコード(具体例)
button.js←.js外部ファイル


//ここから
document.write('<object classid="clsid:');
document.write('d27cdb6e-ae6d-11cf-96b8-444553540000" ');
document.write('codebase="http://fpdownload.macromedia.com/pub');
document.write('/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ');
document.write('width="100" height="100"');
document.write(' id="button" align="middle">');
document.write('<param name="allowScriptAccess" ');
document.write('value="sameDomain">');
document.write('<param name="movie" ');
document.write('value="http://www.xxxx.com/xxxx/xxxx/button.swf');
document.write('">');
document.write('<param name="quality" ');
document.write('value="high">');
document.write('<param name="bgcolor" value="');
document.write('#ffffff">');
document.write('<embed src="http://www.xxxx.com/xxxx/xxxx/');
document.write('button.swf" quality="high" ');
document.write('bgcolor="#ffffff" width="100" ');
document.write('height="100" name="button" ');
document.write('align="middle" allowScriptAccess="');
document.write('sameDomain" type="application/');
document.write('x-shockwave-flash" pluginspage="');
document.write(';http://www.macromedia.com/go/getflashplayer');
document.write('">');
document.write('</object>');
//ここまで

あとはFlashコンテンツを乗せるHTMLに以下の文を記述する。
記述した場所にFlashコンテンツが表示される。

<script language="JavaScript" src="/weblog/button.js"></script>

参考:Allabout

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

Feeds
Tag Cloud

Return to page top