码迷,mamicode.com
首页 > Web开发 > 详细

js判断浏览器是否安装或启用了flash的方法总结

时间:2019-07-24 22:21:44      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:ext   bbs   lse   turn   class   object   tin   oss   设置   


# js判断浏览器是否安装或启用了flash的方法

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

typeof window.ActiveXObject != "undefined"

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

var flashObj = new  ActiveXObject("ShockwaveFlash.ShockwaveFlash");

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

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

封装一个兼容性方法:

function hasUsableFlash(){
    var flashObj;
    if(typeof window.ActiveXObject != "undefined"){
        flashObj= new  ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    }else{
        flashObj= navigator.plugins['Shockwave Flash'];
    }
    return flashObj? true : false;
}
var result= hasUsableFlash();
if(!result) {
    alert("您未安装flash插件,或您浏览未启用flash插件!")
}

# chrome浏览器启用flash插件的方法

目前,chrome浏览器默认是禁用flash插件的,如果想让某个网站启用flash插件,需要单独设置;下面以www.baidu.com网站为例:
1、禁用flash:
技术图片
2、flash禁用状态下,执行hasUsableFlash方法:返回false;
技术图片
3、启用flash:
技术图片
4、flash启用状态下,执行hasUsableFlash方法:返回true;
技术图片
5、注意:
1)如果点击“查看网站信息”的锁形图标,无法直接看到flash的设置功能,可点击“网站设置”,进入chrome://settings/content/siteDetails?site=https%3A%2F%2Fjuejin.im 页面进行设置;
技术图片
技术图片
2)启用或禁用是无法用javascript控制的;

# 参考

https://www.bbsmax.com/A/rV57b6GXJP/


js判断浏览器是否安装或启用了flash的方法总结

标签:ext   bbs   lse   turn   class   object   tin   oss   设置   

原文地址:https://www.cnblogs.com/willingtolove/p/11241210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!