今天研究了點Flex技術,做了一個小的Demo,在測試時發現經常報錯,網上一查發現是浏覽器Flash Player版本較低造成(需要10及其以上的版本)的,對此總結了一下借助JavaScript腳本判斷浏覽器Flash Player信息的方法:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JavaScript判斷浏覽器Flash Player信息</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> function checkFlashPlayer(){ var hasFlashPlayer=0; //判斷是否安裝了Flash Player var flashPlayerVersion=0; //Flash Player版本 if(document.all){ var shockWaveFlash = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); if(shockWaveFlash) { hasFlashPlayer=1; flashPlayerVersion=parseInt(shockWaveFlash.GetVariable("$version").split(" ")[1].split(",")[0]); } }else if (navigator.plugins && navigator.plugins.length > 0){ var shockWaveFlash=navigator.plugins["Shockwave Flash"]; if (shockWaveFlash){ hasFlashPlayer=1; var descriptionInfo = shockWaveFlash.description.split(" "); for (var i = 0; i < descriptionInfo.length; ++i){ if (isNaN(parseInt(descriptionInfo[i]))){ continue; } flashPlayerVersion = parseInt(descriptionInfo[i]); } } } return {hasFlashPlayer:hasFlashPlayer, flashPlayerVersion:flashPlayerVersion}; } if(checkFlashPlayer().hasFlashPlayer){ if(checkFlashPlayer().flashPlayerVersion <= 10){ if(confirm("您的Flash Player版本過低,立即升級Flash Player版本?")){ window.location.href="http://get.adobe.com/cn/flashplayer/" rel="external nofollow" rel="external nofollow" ; } }else{ alert("您安裝了Flash Player,當前Flash Player版本號為:"+checkFlashPlayer().flashPlayerVersion+"。"); } }else{ if(confirm("您沒有安裝Flash Player,立即安裝?")){ window.location.href="http://get.adobe.com/cn/flashplayer/" rel="external nofollow" rel="external nofollow" ; } } </script> </head> <body> </body> </html>