专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flash

如何确定网页中的flash是哪个版本的

发布时间:2011-06-27 20:00:32 文章来源:www.iduyao.cn 采编人员:星星草
怎么确定网页中的flash是哪个版本的
大家好!在网页中经常会嵌入flash,但我不知道那些嵌入的flash是什么版本的
我想问一下大家,怎么样才能确定网页中的flash是什么版本的呢?
我是打开flash后,右键看到flash 10就觉得是10了。
但有的人说要用UE打开文件,第四个字节表示的是版本号。
大家觉得是那个啊。

------解决方案--------------------
falsh player是在你自己机器上的啊,分IE版本和非IE版本,你访问http://www.adobe.com/software/flash/about/就可以看到你自己是什么版本了,如果说是程序中获取,
你要是想在程序中获取,JS和flash里都可以拿到的啊,flash里Capabilities.version可以拿到,JS里要拼接,最好使用swfobject.getFlashPlayerVersion()直接获取
------解决方案--------------------
修改自Adobe官方网站,看代码:

JScript code

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;

function ControlVersion()
{
       var version;
       var axo;
       var e;

       // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

       try {
              // version will be set for 7.X or greater players
              axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
              version = axo.GetVariable("$version");
       } catch (e) {
       }

       if (!version)
       {
              try {
                     // version will be set for 6.X players only
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                     
                     // installed player is some revision of 6.0
                     // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
                     // so we have to be careful. 
                     
                     // default to the first public version
                     version = "WIN 6,0,21,0";

                     // throws if AllowScripAccess does not exist (introduced in 6.0r47)              
                     axo.AllowScriptAccess = "always";

                     // safe to call for 6.0r47 or greater
                     version = axo.GetVariable("$version");

              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     // version will be set for 4.X or 5.X player
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                     version = axo.GetVariable("$version");
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     // version will be set for 3.X player
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                     version = "WIN 3,0,18,0";
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     // version will be set for 2.X player
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                     version = "WIN 2,0,0,11";
              } catch (e) {
                     version = -1;
              }
       }
       var verArr = version.toString().split(',');
       var str = '';
       for(var i=0,l=verArr.length;i<l;i++){
              
              if(verArr[i].indexOf('WIN') != -1){
                     str += verArr[i].substring(3);
                     str += '.';
              }else if(i== (l-1)){
                     str += verArr[i];
              }else{
                     str += verArr[i];
                     str += '.';       
              }
              
       }
       return (str);
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
       // NS/Opera version >= 3 check for Flash plugin in plugin array
       var flashVer = -1;
       
       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;
                     var descArray = flashDescription.split(" ");
                     var tempArrayMajor = descArray[2].split(".");                     
                     var versionMajor = tempArrayMajor[0];
                     var versionMinor = tempArrayMajor[1];
                     var versionRevision = descArray[3];
                     if (versionRevision == "") {
                            versionRevision = descArray[4];
                     }
                     if (versionRevision[0] == "d") {
                            versionRevision = versionRevision.substring(1);
                     } else if (versionRevision[0] == "r") {
                            versionRevision = versionRevision.substring(1);
                            if (versionRevision.indexOf("d") > 0) {
                                   versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                            }
                     }
                     var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
                     //alert("flashVer="+flashVer);
              }
       }
       // MSN/WebTV 2.6 supports Flash 4
       else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
       // WebTV 2.5 supports Flash 3
       else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
       // older WebTV supports Flash 2
       else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
       else if ( isIE && isWin && !isOpera ) {
              flashVer = ControlVersion();
       }       
       return flashVer;
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: