今天研究了點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>