JS 检测浏览器中是否安装了特定的插件

1、检测非IE浏览器

  可以使用plugins数组来达到这个目的,例:

 1  //检测插件(在IE中无效)
 2     function hasPlugin(name){
 3         name = name.toLowerCase();
 4         for(var i=0;i<navigator.plugins.length;i++)
 5         {
 6             if(navigator.plugins[i].name.toLowerCase().indexOf(name)>-1)
 7             {
 8                 return true;
 9             }
10         }
11         return false;
12     }
13     //检测Flash
14     alert(hasPlugin("Flash"));

2、检测IE浏览器

  因为IE不支持Netscape式的插件。在IE中检测插件唯一的方式就是使用专有的ActiveXObject类型,并尝试创建一个特定插件的实例。IE是以COM对象的方式使用插件的,而COM对象使用唯一标识符来标识。因此,要检查特定的插件就必须知道其特定的标识符。如Flash的标识符是ShockwaveFlash.ShockwaveFlash。

 1 //检测IE中的插件
 2     function hasIEPlugin(name)
 3     {
 4         //用try-catch进行实例化,因为创建未知的COM对象会导致抛出错误,如果实例化成功返回true,否则抛出异常返回false
 5         try {
 6             new ActiveXObject(name);
 7             return true;
 8         } catch (ex) {
 9             return false;
10         }
11     }
12     //根据Flash标识符,检测Flash插件
13     alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));

3、检测所有浏览器

  先使用不针对IE的检测插件的方法,再使用针对IE的检测插件的方法,只要任何一个方法检测到将会返回true,否则返回false。

 1 //检测所有浏览器中的Flash
 2     function hasFlash()
 3     {
 4         var result = hasPlugin("Flash");//先检测非IE浏览器
 5         if(!result)
 6         {
 7             result = hasIEPlugin("ShockwaveFlash.ShockwaveFlash");//再检测IE
 8         }
 9         return result;
10     }
11     //检测Flash
12     alert(hasFlash());
时间: 2024-10-10 15:22:25

JS 检测浏览器中是否安装了特定的插件的相关文章

js检测浏览器中是否安装了flash播放插件

这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5.其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flash插件情况,代码如下: <script> function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 if (document.all) { var swf = new Activ

navigator,JS检测浏览器插件

最早由Netscape Navigator 2.0引入的navigator对象,现在已经成为识别客户端浏览器的事实标准.虽然其它浏览器也通过其它方式提供了相同或相似的信息(例如,IE中的window.clientInformation和Opera中的window.opera),但navigator对象却是所有支持JavaScript的浏览器所共有的.与其它BOM对象的情况一样,每个浏览器中的navigator对象也都有一套自己的属性.下表列出了存在于所有浏览器中的属性和方法,以及支持它们的浏览器

js通用方法检测浏览器是否已安装指定插件(IE与非IE通用)

/* * 检测是否已安装指定插件 * * pluginName 插件名称 */ function checkPlugins(pluginName) { var np = navigator.plugins; if (window.ActiveXObject) { // IE // ActiveXObject的对象名 var activexObjectName = pluginName + "." + pluginName; try { var axobj = eval("ne

JS检测浏览器Adobe Reader插件

Web应用中当我们希望向用户显示pdf文档时候,如果用户安装了Adobe Reader之类的pdf阅读器,就可以直接打开文档在浏览器中显示, 但是,当用户没有安装这类软件的时候,自然是打不开的,为了系统或者网站的易用性,最好在展示文档之前对客户端进行检测,如果已经安装 这类阅读器就直接显示,如果没有安装则跳转到Adobe Reader之类的阅读软件的下载页面或者直接给用户下载地址,提示用户进行下载安装. 我们可以通过JavaScript先进行检测,然后根据检测结果进行指定的跳转.如果是像火狐.谷

chrome下使用JS检测浏览器是否使用开发者工具

在浏览网页的时候无意中看到一个检测浏览器是否使用开发者工具方法,特此记录 代码示例: 1 (function(){ 2 var re=/x/; 3 var i=0; 4 console.log(re); 5 6 re.toString=function(){ 7 return '第'+(++i)+'次打开控制台' 8 } 9 })(); 原理如下: 控制台输出的内容如果是对象(包括正则表达是对象),则保留的是对象的引用,输出的 会是对象的实时值,即对象内容被改变时,能够反映其变化(前提是重新开启

js 在浏览器中的限制

众所周知,由于安全方面的考虑,运行在浏览器中的JS脚本会被存在很多限制,这里做一下小小的归纳: 1.JS不允许访问宿主的计算机: js原本是不能读取或写入用户计算机的文件系统的(cookie除外),但是HTML5新增的file API,能让我们能突破这个限制(但是仍然有其他限制条件,有兴趣的同学可以参考http://www.html5rocks.com/zh/tutorials/file/filesystem/). 2.同源策略: 这个大家应该都知道,就是两个页面的域必须相同,才允许相互通信.

FineReport中如何安装移动端H5插件

1. HTML5报表插件安装及使用编辑 插件安装 插件网址以及设计器插件安装方法和服务器安装插件的方法可以官网上面搜索,这里就不做详细介绍了. 移动端HTML5报表使用方法 安装好插件后,在浏览器中调用时,需要在报表路径后面加上参数op=h5.但是PC端不完全支持H5效果. 移动端添加参数前后效果: fs上挂报表的时候不用带参数,会自动识别是不是在手机上访问的.另外移动端的H5插件,图表是只支持显示新图表. 2. Html5报表制作及手机效果编辑 手机页面大小 制作手机上的报表与PC端报表制作过

[Eclipse插件] Eclipse中如何安装和使用GrepCode插件

Java是开源的世界,如何快速的搜索到你需要的Java源码呢? 2009年7月17日,GrepCode团队发布了一个有趣的 Java源码搜索引擎-GrepCode .与现有的各种搜索引擎相比,Java源码搜索引擎-GrepCode把Java源码搜索带到了一个新的高度.Java源码搜索引擎-GrepCode 不但提供了语法的高亮显示和JavaDoc的现实,还提供了一种界面非常友好的的Java类型集成视图,便于人们搜索.用户可以很容易的找到某个特定版本代码依赖的工程代码.Java源码搜索引擎-Gre

Eclipse中如何安装和使用GrepCode插件

GrepCode(GC)Eclipse插件允许Eclipse用户在Eclipse IDE中搜索由GrepCode提供的工厂类.本教程介绍如何安装和使用插件.使用Eclipse3.5(Galileo)的screeshots.类似的步骤可以遵循与Eclipse 3.4.x 版本(Ganymede). 系统需求 更新网站位置 安装 用法 另见:GrepCode IntelliJ IDEA Plugin 系统需求 GC 插件兼容以下版本的Eclipse 3.5.x (Galileo) 3.4.x (Ga