● IEの2006年4月の仕様変更に伴うFlashや
    Windows Mediaファイルの動作について




Flashムービーの挙動が2006年4月(のWindows Update)以降におかしくなったように感じられる方は、日経ITProの記事:「MSのセキュリティ・パッチでFlashコンテンツの再生に不具合発生,その理由は?」やInternet Watchの記事:「4月の月例パッチ前に、Webコンテンツを修正する--Windows Media Player、Flash、QuickTimeなどを使用するページは注意」などをご参照ください。

ここでは、簡単に説明しますと、マイクロソフト社は特許の問題から、Internet Explorer(以下IE)上において、FlashやWindows MediaファイルなどをActivexから呼び出す方法を変更せざるをえなくなりました。そして、2006年4月、マイクロソフト社は、Windows Updateを通じて、このIEの仕様変更を行いました。

そのため、普通に、HTMLファイルの中に、objectタグやembedタグを使って、FlashファイルやWindows Mediaファイルへリンクを行うと、思ったとおりに動かなくなっているケースが発生することがあります。例えば、「Flashバナー広告やFlashによるメニューで2回クリックしないとリンク先に移動しない」「Flashでロールオーバーによるメニューを使用している場合にメニューが変わらない。音が鳴らない」などです。


また、FlashやWindows Mediaファイルなどが埋め込まれた部分にカーソルを合わせると、その部分が点線で囲まれて、左のキャプチャー画像のように「このコントロールをアクティブ化して使用するにはクリックしてください」というメッセージが表示されます。

あるいは、「このWebページで ActiveXコントロールを実行するにはクリックしてください」というアラートが表示されることもあります。

この問題は、SHTMLでHTMLファイルを暗号化するかしないかにかかわらず起きます。

回避方法は、下記のマイクロソフト社やアドビ社の技術文書にあるとおり、JavaScriptの外部ファイル(JSファイル)を使うことです。

http://www.microsoft.com/japan/msdn/workshop/author/dhtml/overview/activating_activex.aspx
http://www.macromedia.com/jp/devnet/activecontent/

●(アドビ社サービス&サポート FAQ情報 )
IE の更新プログラムを適用すると、Flash や Shockwave を余計に一度クリックしないとコンテンツを操作できない
http://support.adobe.co.jp/faq/faq/qadoc.sv?5503+001

●(マイクロソフト社の技術情報)
動画や音楽などのコンテンツを表示した際、操作を行うためにクリックする必要がある
http://support.microsoft.com/kb/915456


Flashを外部ファイル化(JSファイル化)する場合にSHTMLご利用上のご注意

このActiveXの処理方法の仕様変更による影響を回避するには、外部ファイル化(JSファイル化)=「JSファイルの中でobjectタグやembedタグをdocument.write」すればいいのですが、SHTMLで暗号化する場合は、注意が必要です。上記のマイクロソフト社の技術文書などをそのまま真似てオリジナルのHTMLソースを変更後、SHTMLでHTMLファイルを暗号化すると、レイアウトが崩れる問題(外部ファイル化したFlashムービーが、ブラウザの表示で最下部に表示されるようになります。暗号化前と暗号化後でレイアウトが異なって見える問題)が発生します。

そこで、回避策として、弊社で開発した無料WEBアプリケーション「JavaScript Maker for Flash」をご利用ください。これにより、「このコントロールをアクティブ化して使用するにはクリックしてください」などのメッセージは表示されなくなりますし、外部ファイル化したHTMLファイルを暗号化した結果、レイアウトが崩れるなどの問題が発生することもありません。また、難読化処理も同時に施すことが可能です。

また、「JavaScript Maker for Flash」はWEBアプリケーションとしてだけでなく、ver. 1.25以降、SHTMLのプログラム内にもおまけソフトとして付属していますので、そちらもご活用ください。


   ← 「SHTML」トップページへ© 株式会社プランセス