欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js判断浏览器是否支持flash的方法

程序员文章站 2022-05-18 09:04:31
传统浏览器可以使用window.ActiveXObject检查浏览器是否启用相关的控件。检查浏览器是否启用flash控件,需要先检查浏览器是否支持ActiveXObject,可以使用typeof检查window.ActiveXObject是否等于undefined,语法: 如果,window.Act ......

传统浏览器可以使用window.ActiveXObject检查浏览器是否启用相关的控件。检查浏览器是否启用flash控件,需要先检查浏览器是否支持ActiveXObject,可以使用typeof检查window.ActiveXObject是否等于undefined,语法:

typeof window.ActiveXObject != "undefined"

如果,window.ActiveXObject不等于undefined,使用new  ActiveXObject("ShockwaveFlash.ShockwaveFlash")返回flash控件。

 

谷歌、火狐、微软Edge、Safari等现代浏览器不支持ActiveXObject,它们支持navigator.plugins检查浏览器插件,因此谷歌、火狐等浏览器都可以使用navigator.plugins检查浏览器是否启用flash插件,可以使用下面的代码返回flash插件:

var swf = navigator.plugins['Shockwave Flash'];

 

封装一个兼容性代码:

function hasUsableSWF(){
var swf;     
if(typeof window.ActiveXObject != "undefined"){
        swf = new  ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    }else{
         swf = navigator.plugins['Shockwave Flash'];
    }
    return swf ? true : false;
};

上面的hasUsableSWF函数检查浏览器是否支持flash,如果支持返回true, 否则返回false.