// ----------------------------------------------------------------------------- // グローバル // Flash のメジャーバージョンが必要です var requiredMajorVersion = 8; // Flash のマイナーバージョンが必要です var requiredMinorVersion = 0; // 必要な Flash のバージョン var requiredRevision = 0; // サポートされている JavaScript のバージョン var jsVersion = 1.0; // ----------------------------------------------------------------------------- var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; jsVersion = 1.1; // Flash Player プラグインのバージョン情報を検出するには、JavaScript ヘルパーが必要です function JSGetSwfVer(i){ // プラグイン配列内の Flash プラグインについて NS/Opera バージョンが 3 以上かどうかを確認します if (navigator.plugins != null && navigator.plugins.length > 0) { if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; descArray = flashDescription.split(" "); tempArrayMajor = descArray[2].split("."); versionMajor = tempArrayMajor[0]; versionMinor = tempArrayMajor[1]; if ( descArray[3] != "" ) { tempArrayMinor = descArray[3].split("r"); } else { tempArrayMinor = descArray[4].split("r"); } versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0; flashVer = versionMajor + "." + versionMinor + "." + versionRevision; } else { flashVer = -1; } } // MSN/WebTV 2.6 は Flash 4 をサポートしています else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; // WebTV 2.5 は Flash 3 をサポートしています else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; // それ以前のバージョンの WebTV は Flash 2 をサポートしています else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; // 他のすべての状況では検出できません else { flashVer = -1; } return flashVer; } // パラメータを指定せずに呼び出した場合、この関数は浮動小数値を返します。 // これは、Flash Player のバージョンまたは 0.0 になります。 // 例 : Flash Player 7r14 の場合は 7.14 を返します // reqMajorVer を指定して呼び出した場合、reqMinorVer、reqRevision は、それ以上のバージョンが使用可能なときには true を返します function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) { reqVer = parseFloat(reqMajorVer + "." + reqRevision); // 最新のバージョンを見つけるまで、バージョンを遡ってループします for (i=25;i>0;i--) { if (isIE && isWin && !isOpera) { versionStr = VBGetSwfVer(i); } else { versionStr = JSGetSwfVer(i); } if (versionStr == -1 ) { return false; } else if (versionStr != 0) { if(isIE && isWin && !isOpera) { tempArray = versionStr.split(" "); tempString = tempArray[1]; versionArray = tempString .split(","); } else { versionArray = versionStr.split("."); } versionMajor = versionArray[0]; versionMinor = versionArray[1]; versionRevision = versionArray[2]; versionString = versionMajor + "." + versionRevision; // 7.0r24 == 7.24 versionNum = parseFloat(versionString); // メジャーバージョンは要求されたメジャーバージョン以上であり、かつマイナーバージョンは要求されたマイナーバージョン以上の場合 if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) { return true; } else { return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false ); } } } return (reqVer ? false : 0.0); }