Microsoft 社が発表した Internet Explorer 仕様変更に対応するための情報。
仕様変更の影響を受けるのは、HTML内に object、embed、applet タグを使用して、アクティブコンテンツを埋め込んでいる場合。以下が該当する可能性がある。
Flash、Shockwave、Java アプレット、Real、QuickTime、Acrobat、ActiveX コントロール
対処法
・Macromediaからのツールのリリースを待つ。
・object、embedタグの代わりに外部jsを作成しdocument.writeを使い、埋め込みタグを動的に書き出す。外部jsを読み込ませ、Flashを表示したい部分に外部js内のfunctionを呼び出すscriptを入れる。
参考
FlashのPluginの有無、Javascript OFF、versionによる振り分けの組み合わせ。
<script language=JavaScript>
<!--
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
plugin = parseInt(plugin.description.substring(plugin.description.indexOf(".")-1)) >= 6; // version
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 && (navigator.userAgent.indexOf("Windows 95")>=0 || navigator.userAgent.indexOf("Windows 98")>=0 || navigator.userAgent.indexOf("Windows NT") || navigator.userAgent.indexOf("Windows XP")>=0)) {
document.write('<SCRIPT LANGUAGE=VBScript¥> ¥n');
document.write('on error resume next ¥n');
document.write('plugin = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))¥n');
document.write('</SCRIPT¥> ¥n');
}
if ( plugin ) {
document.write('<OBJECT classid="AAAAAA"');
document.write(' codebase="AAAAAA" ');
document.write(' ID=main WIDTH=000 HEIGHT=000>');
document.write(' <PARAM NAME=movie VALUE="AAAAAA.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> ');
document.write(' <EMBED src="AAAAAA.swf" quality=high bgcolor=#FFFFFF ');
document.write(' swLiveConnect=FALSE WIDTH=000 HEIGHT=000');
document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">');
document.write(' </EMBED>');
document.write(' </OBJECT>');
} else if (!(navigator.appName && navigator.appName.indexOf("Netscape")>=0 && navigator.appVersion.indexOf("2.")>=0)){
document.write('<IMG SRC="noflash.gif" WIDTH=000 HEIGHT=000 usemap="#noflash" BORDER=0>');
document.write('<map name="noflash">MAPをとる場合</map>');
}
//-->
</script>
<NOEMBED>
<img src="noflash.gif" width="000" height="000" usemap="#noflash" border="0">
<map name="noflash"> MAPをとる場合</map>
</NOEMBED> <noscript> <img src="noflash.gif" width="000" height="000" usemap="#noflash" border="0">
</noscript>