传统浏览器可以使用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.

更多专业前端知识,请上 【猿2048】www.mk2048.com

js判断浏览器是否支持flash的方法相关推荐

  1. JS判断浏览器是否支持某一个CSS3属性

    1.引子 css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候.比如transition的ani ...

  2. 判断浏览器是否支持websocket的方法

    比较直观的方式是直接判断全局对象中是否包含WebSocket对象即可: if( typeof(WebSocket) != "function" ) {alert("您的浏 ...

  3. js判断浏览器是否支持webGL

    起因是我之前开发的网页,用到了three.js制作了一个3d的旋转球体效果. 在各种浏览器上运行都没问题,在IE上也做了兼容代码. 但是今天接电话,老板说你这网页在xp上不显示啊.IE上好使.goog ...

  4. html5 webp,JS判断浏览器是否支持webp

    function BrowserType() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = use ...

  5. js判断浏览器是否为IE

    js判断浏览器是否为IE的方法. function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var ...

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

    目录 # js判断浏览器是否安装或启用了flash的方法 # chrome浏览器启用flash插件的方法 # 参考 # js判断浏览器是否安装或启用了flash的方法 在传统浏览器,可以使用windo ...

  7. html 判断页面支持canvas,HTML5 Canvas之测试浏览器是否支持Canvas的方法

    在获取HTML页面上Canvas元素的引用后,我们需要测试一下该元素是否包含"上下文"(context).Canvas的上下文指的是由浏览器定义的用于绘画的平面.简单地说,如果上下 ...

  8. PHP判断浏览器内核过低,js判断浏览器版本以及浏览器内核的方法

    本文实例讲述了js判断浏览器版本以及浏览器内核的方法.分享给大家供大家参考.具体实现方法如下: js判断是否移动端及浏览器内核 var browser = { versions: function() ...

  9. 关于检测浏览器是否支持flash的js代码

    如下: function hasFlash() {var swf;if (navigator.userAgent.indexOf("MSIE") > 0) {try {var ...

最新文章

  1. On/Off FlipSwitch 按钮
  2. java标签多行_利用Arcade表达式显示多行标签
  3. node经验总结(一)
  4. EasyUI combobox
  5. matlab画图入门篇--各种基本图形绘制的函数与实例【转载】
  6. 又拍云黄慧攀QCon 2016技术分享:直播平台架构与实施
  7. 融会贯通——最常用的面向对象设计原则“合成复用原则”
  8. python每天20分钟_每天用 Jupyter 写 5 分钟的日记
  9. java 网格布局管理器,Java使用网格组布局管理器
  10. 动态规划-最少硬币问题
  11. websocket-shap 函数Broadcast的使用方法
  12. 本人出版《Java Web 项目开发案例实战—Spring Boot+Mybatis+Hibernate+Spring Cloud》
  13. htc x920e刷android7.0,HTC X920e(Butterfly)第三方recovery刷入教程
  14. 物联网服务器Domoticz自带的消息推送到QQ邮箱
  15. 希捷移动硬盘linux,[转载]强列建议不要买seagate希捷移动硬盘!!!
  16. One Last Kiss风格封面生成器;程序内存分析工具;Python入门课程资料;神经文本语音合成教程;前沿论文 | ShowMeAI资讯日报
  17. 使用Swiss-Prot根据同源基因进行注释
  18. heic是什么格式?如何转成JPG格式?
  19. JS两个日期之间计算时间差
  20. ExecutorService 接口学习

热门文章

  1. antd 3升级命令_是时候拥有一个你自己的命令行工具了
  2. 【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)
  3. linux shm_open,c – 如何更改shm_open路径?
  4. spring cloud gateway 深入了解 - Predicate
  5. [19/03/21-星期四] 异常(Exception) (一)
  6. Spring Boot 1:Introduction
  7. Ulink2 No Ulink Device found 解决办法
  8. Oracle实用技巧
  9. 30岁前不要在乎的29件事(转载)
  10. 不等式约束的拉格朗日乘数法_Abaqus血管支架仿真|接触约束执行方式