Windows Update を実行する、もしくは自動更新などで
マイクロソフトが4月12日に公開したセキュリティ・パッチ
を適用すると、FLASH 時にちょっとした不具合が出ます。
不具合といっても、「マウスクリックが必要な場合に、一回余分にクリックしないと
いけない」くらいですけど。
これは、IE の仕様変更で、一度クリックしないと (アクティブ化しないと)
FLASH 等が有効にならなくなったためです。
まぁ、ユーザさんに一回余分にクリックしてもらえばいいのですが、、、
それを回避する方法もあります。
FLASH 等を貼り付けるスクリプトを外部ファイルに記述すればよい
のです。
具体的には、例えば以下のようにします。
// HTML ファイル --------------------------------------------------
<html>
<head>
<script src="flash.js" language="JavaScript"></script>
</head>
<body>
<div id="FLASH_ID">
このテキストは FLASH に置き換わります。
</div>
<script language="JavaScript">
CreateFlashControl("FLASH_ID", "my_flash_contents.swf", 480, 320);
</script>
</body></html>
// flash.js -----------------------------------------------------
function CreateFlashControl(DivID, URL, width, height) {
var d = document.getElementById(DivID);
d.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
+ ' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"'
+ ' width="' + width + '" height="' + height + '" align="middle">'
+ '<param name="allowScriptAccess" value="sameDomain" />'
+ '<param name="movie" value="' + URL + '" />'
+ '<param name="quality" value="high" />'
+ '<embed src="' + URL + '" quality="high"'
+ ' width="' + width + '" height="' + height + '" align="middle"'
+ ' allowScriptAccess="sameDomain" type="application/x-shockwave-flash"'
+ ' pluginspage="http://www.macromedia.com/go/getflashplayer" />'
+ '</object>';
}
// ------------------------------------------------------
embed タグが無かったり、"JavaScript" を "JScript" と記述してたりすると
Firefox で表示できなくなるので注意。
IE6, IE5.5, Firefox1.5.0.1 で動作確認しました。
参考
MSのセキュリティ・パッチでFlashコンテンツの再生に不具合発生,その理由は?
ActiveX コントロールのアクティブ化
マイクロソフトが4月12日に公開したセキュリティ・パッチ
を適用すると、FLASH 時にちょっとした不具合が出ます。
不具合といっても、「マウスクリックが必要な場合に、一回余分にクリックしないと
いけない」くらいですけど。
これは、IE の仕様変更で、一度クリックしないと (アクティブ化しないと)
FLASH 等が有効にならなくなったためです。
まぁ、ユーザさんに一回余分にクリックしてもらえばいいのですが、、、
それを回避する方法もあります。
FLASH 等を貼り付けるスクリプトを外部ファイルに記述すればよい
のです。
具体的には、例えば以下のようにします。
// HTML ファイル --------------------------------------------------
<html>
<head>
<script src="flash.js" language="JavaScript"></script>
</head>
<body>
<div id="FLASH_ID">
このテキストは FLASH に置き換わります。
</div>
<script language="JavaScript">
CreateFlashControl("FLASH_ID", "my_flash_contents.swf", 480, 320);
</script>
</body></html>
// flash.js -----------------------------------------------------
function CreateFlashControl(DivID, URL, width, height) {
var d = document.getElementById(DivID);
d.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
+ ' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"'
+ ' width="' + width + '" height="' + height + '" align="middle">'
+ '<param name="allowScriptAccess" value="sameDomain" />'
+ '<param name="movie" value="' + URL + '" />'
+ '<param name="quality" value="high" />'
+ '<embed src="' + URL + '" quality="high"'
+ ' width="' + width + '" height="' + height + '" align="middle"'
+ ' allowScriptAccess="sameDomain" type="application/x-shockwave-flash"'
+ ' pluginspage="http://www.macromedia.com/go/getflashplayer" />'
+ '</object>';
}
// ------------------------------------------------------
embed タグが無かったり、"JavaScript" を "JScript" と記述してたりすると
Firefox で表示できなくなるので注意。
IE6, IE5.5, Firefox1.5.0.1 で動作確認しました。
参考
MSのセキュリティ・パッチでFlashコンテンツの再生に不具合発生,その理由は?
ActiveX コントロールのアクティブ化