`
chenjian_791
  • 浏览: 20714 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

flash检测方法

阅读更多
//IE下获取flash版本号,如果flash插件不存在则返回-1
function ControlVersion()
{
       var version;
       var axo;
       var e;
       try {
              axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
              version = axo.GetVariable("$version");
       } catch (e) {
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                     version = "WIN 6,0,21,0";           
                     axo.;
                     version = axo.GetVariable("$version");
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                     version = axo.GetVariable("$version");
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                     version = "WIN 3,0,18,0";
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     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);
}

//判断
function flashChecker()
{
    var hasFlash=0;         //是否安装了flash
    var flashVersion=0; //flash版本
    var isIE=0;      //是否IE浏览器

    if(isIE)
    {
        var swf = ControlVersion();
        if(swf != -1)
        {
            hasFlash=1;
            flashVersion = swf;
        }
    }else{
        if (navigator.plugins && navigator.plugins.length > 0)
        {
             if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
             {
                hasFlash=1;
                var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
                var swf = navigator.plugins["Shockwave Flash" + swVer2].description;
                //var swf = navigator.plugins["Shockwave Flash"];
                if (swf)
                 {       
                    var words = swf.split(" ");
                    for (var i = 0; i < words.length; ++i)
                    {
                        if (isNaN(parseInt(words[i]))) continue;
                        flashVersion = parseInt(words[i]);
                    }
                }
             }
        }
    }
    return {f:hasFlash,v:flashVersion};
}
//以下是简化版本
//检测flash是否安装,以及版本号
function flashChecker(){
    var hasFlash=false;         //是否安装了flash
    var flashVersion=0; //flash版本
    var isIE=0;      //是否IE浏览器
    if(isIE){
        try{
            var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
            if(swf) {
                hasFlash=true;
                VSwf=swf.GetVariable("$version");
                flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
            }
        }
        catch(e){
       
        }
       
    }else{
        if (navigator.plugins && navigator.plugins.length > 0)
        {
        var swf=navigator.plugins["Shockwave Flash"];
            if (swf)
             {
                hasFlash=true;
                var words = swf.description.split(" ");
                for (var i = 0; i < words.length; ++i)
                {
                    if (isNaN(parseInt(words[i]))) continue;
                    flashVersion = parseInt(words[i]);
                }
            }
        }
    }
    return {hasFlash:hasFlash,flashVersion:flashVersion};
}
分享到:
评论

相关推荐

    flash 视频运动检测

    差分法是最简单的运动检测方法,通过计算连续两帧间的像素差值来确定运动区域。在Flash中,可以使用BitmapData对象的getPixels()和setPixels()方法获取和修改像素数据,然后比较两帧的差异。 四、光流法 光流法更...

    两个方法检测用户浏览器是否安装flash插件

    附件提供了两个JavaScript 方法,只要复制到你的网页中,直接运行就可以检测客户端是否安装了flash插件 各自反馈结果请看预览详细页 使用方法: 1、将其中一个方法复制到你的网页中 2、直接调用运行即可

    flash小球碰撞检测

    以上就是Flash小球碰撞检测的基本概念和实现方法。通过理解这些知识点,开发者可以创建出包含动态交互和物理行为的Flash应用程序,比如有趣的小球弹射游戏。在压缩包中提供的"小球碰撞检测2.fla"和"小球碰撞检测.fla...

    flash里的碰撞检测

    在Flash编程中,碰撞检测是一项基础且重要的技术,主要用于判断两个或多个图形对象是否发生重叠,这在游戏开发、...通过理解基本概念,掌握不同检测方法,并结合实际案例进行学习,可以有效提升你在Flash编程中的能力。

    flash 碰撞检测hittest

    在Flash开发中,碰撞检测是实现游戏或者交互式应用中不可或缺的一部分。`hitTest`方法在ActionScript 3(AS3)中扮演着至关重要的角色,用于检测两个显示对象是否在视觉上重叠。本篇文章将深入探讨`hitTest`方法的...

    参考资料-基于单片机的Flash存储器坏块自动检测.zip

    本资料包"参考资料-基于单片机的Flash存储器坏块自动检测.zip"聚焦于如何利用单片机对Flash存储器进行坏块自动检测,这对于确保数据安全和设备稳定运行至关重要。 Flash存储器是电子设备中常用的一种非易失性存储...

    u盘检测工具+FLASH查询器+扩容检测

    标题中的“u盘检测工具+FLASH查询器+扩容检测”是指一套用于检查USB闪存盘(U盘)性能、真实容量以及识别其内部芯片信息的软件组合。这些工具旨在帮助用户确保U盘的质量,防止购买到扩容盘,即实际容量小于标称容量...

    flash AS3.0检测碰撞工具类 超好用

    为了优化性能,开发者通常会在不影响游戏体验的前提下尽量减少碰撞检测的频率,比如只在对象移动或旋转时进行检测,或者使用更粗略的检测方法来初步判断是否有可能发生碰撞,然后再对疑似碰撞的区域进行像素级检测。...

    符合web标准的flash调用方法,解决了浏览器对flash的影响

    标题中的"符合web标准的flash调用方法",指的是通过JavaScript库来实现对Flash的跨浏览器兼容性处理,使得Flash内容能在不同浏览器环境下正常工作。其中,`swfobject.js`是一个广泛使用的开源JavaScript库,专门用于...

    FLASH检测文件是否存在,带代码附内

    虽然这不是直接检测文件存在的方法,但它可以用来通过一个Flash应用程序查询另一个已知有文件信息的Flash应用程序,间接实现检测功能。例如,你可以创建一个Flash应用程序作为文件服务,其他应用程序可以通过...

    一种应用于Flash智能分析检测的检测方法、系统、智能终端以及计算机可读存储介质与流程.docx

    ### 一种应用于Flash智能分析检测的检测方法及系统的详尽解析 #### 技术领域 本文档介绍了一种专门用于Flash存储设备智能分析检测的新颖技术。这项技术着重于提高NAND Flash存储器的分析效率与准确性,进而提升其...

    基于STM32的Flash存储器坏块自动检测.pdf

    总结来说,本文提出的基于STM32的Flash存储器坏块自动检测方法,对于提高存储器检测效率、确保数据存储的可靠性和完整性具有重要意义。这项技术的推广和应用,将进一步推动NandFlash存储器在电子设备中的使用和发展...

    检测是浏览器还是手机,需求为是否支持FLASH,此文为检测是否支持FLASH的代码(含demo下载)

    这段代码首先尝试创建一个ActiveXObject,这是在Internet Explorer中检测Flash的常见方法。如果创建成功,说明浏览器支持Flash。对于非IE浏览器,代码会检查navigator.mimeTypes对象,如果存在'application/x-...

    Flash人物加速、跳跃、碰撞检测源代码

    Flash提供了多种碰撞检测方法,如矩形碰撞、像素级碰撞等。矩形碰撞简单快速,适用于大部分情况;而像素级碰撞则更为精确,但计算量较大。源代码中可能会包含自定义的碰撞检测函数,用于检测角色与其他物体(如平台...

    Flash+js禁用flash右键

    这段代码添加了一个事件监听器,当检测到右键点击事件(RIGHT_CLICK)时,会调用`rightClickHandler`函数。`event.preventDefault()`方法阻止了默认的右键菜单弹出。 然而,仅靠Flash本身可能无法完全禁用浏览器中...

    Flash as3基于位图的碰撞检测实例

    在Flash AS3编程中,位图的碰撞检测是一项重要的技术,尤其在开发游戏或交互式应用时不可或缺。本文将深入探讨如何实现基于位图的碰撞检测,并通过一个实例来阐述其工作原理。 位图碰撞检测的基本思想是利用位图...

    行业文档-设计装置-提高NOR+FLASH擦写寿命的方法.zip

    由于Flash存储器在多次擦写后可能出现位错误,ECC能检测和纠正这些错误,保证数据的完整性,同时也能一定程度上延缓因错误积累导致的存储器失效。 最后,对于NOR Flash,可以采用代码分割和执行策略。将经常变动的...

    基于机器学习的网络异常流量检测方法_张晓艳1

    【基于机器学习的网络异常流量检测方法】 网络异常流量检测是网络安全领域的重要研究课题,它涉及到互联网技术的快速发展和日益复杂的网络环境。异常流量数据,包括Alpha Anomaly、DDoS、Port Scan等不同类型的异常...

    NAND FLASH中的ECC校验

    在ECC出现之前,最常用的错误检测方法是奇偶校验。奇偶校验是在每一个字节之外增加一位用于错误检测。根据数据中1的数量是奇数还是偶数来决定校验位的值,以此来判断数据传输过程中是否发生了错误。但这种方法存在...

Global site tag (gtag.js) - Google Analytics