专栏首页游戏杂谈JavaScript检测flash player的版本号

JavaScript检测flash player的版本号

1: function getFlashVersion() {

       2:     var flashVer = NaN;

       3:     var ua = navigator.userAgent;

       4:  

       5:     if (window.ActiveXObject) {

       6:         var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');

       7:  

       8:         if (swf) {

       9:             flashVer = Number(swf.GetVariable('$version').split(' ')[1].replace(/\,/g, '.').replace(/^(\d+\.\d+).*$/, "$1"));

      10:         }

      11:     } else {

      12:         if (navigator.plugins && navigator.plugins.length > 0) {

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

      14:  

      15:             if (swf) {

      16:                 var arr = swf.description.split(' ');

      17:                 for (var i = 0, len = arr.length; i < len; i++) {

      18:                     var ver = Number(arr[i]);

      19:  

      20:                     if (!isNaN(ver)) {

      21:                         flashVer = ver;

      22:                         break;

      23:                     }

      24:                 }

      25:             }

      26:         }

      27:     }

      28:  

      29:     return flashVer;

      30: }

      31:  

      32:  

      33: var flashVer = getFlashVersion();

      34:  

      35: if (!isNaN(flashVer)) {

      36:  

      37:     document.write('当前flash player 的版本:' + flashVer);    

      38:  

      39: } else {

      40:     document.write('您尚未安装flash播放器');

      41: }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AS3给图片加水印文字

    通过FileReference获取选中的图片,调用它的load方法,将图片存入到内存中。使用Loader(flash.display.Loader)类的loa...

    meteoric
  • JavaScript版的简单动画

    Google+中有一个特效:拖拽用户头像至分组内,用户头像会有一个特效(绕着圆圈转一圈)。写了个简单的示例,效果如下图所示:

    meteoric
  • as3加载外部资源

    在as3的开发中,经常会加载外部共用资源,比如某一个公用的图片或者其它小特效。这时候为了避免重复请求,一般会将这些资源放在一个fla文件中,为每一个资源添加链接...

    meteoric
  • C#7.0中的解构功能---Deconstruct

      C#7.0新增了诸多功能,其中有一项是新元组(ValueTuple),它允许我们可以返回多个值,并且配合解构能更加方便的进行工作,如下面例子

    莫问今朝
  • 微信小程序日期+时间选择器

    这种内置定义好的选择器都是从底部弹起。目前支持五种选择器,通过设置mode来区分。分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通...

    李才哥
  • 《TypeScript 中文入门教程》 1、基础数据类型

    为了让程序更易用,我们兼容几种最基本的数据类型:numbers(数字),strings(字符串),structures(结构),boolean(布尔值)等等。在...

    无邪Z
  • 在Ocelot中使用自定义的中间件(二)

    在上文中《在Ocelot中使用自定义的中间件(一)》,我介绍了如何在Ocelot中使用自定义的中间件来修改下游服务的response body。今天,我们再扩展...

    李明成
  • 神奇运算符

    每一门编程语言的设计都离不开运算符,我们写的每一行代码基本也少不了它们,这篇文章就让我们一起来了解一下这个无处不在的小伙伴的应用和小技巧吧~~ ~ 按位取反 字...

    IMWeb前端团队
  • 神奇运算符

    每一门编程语言的设计都离不开运算符,我们写的每一行代码基本也少不了它们,这篇文章就让我们一起来了解一下这个无处不在的小伙伴的应用和小技巧吧~~

    IMWeb前端团队
  • (84) 反射 / 计算机程序的思维逻辑

    上节介绍完了并发,从本节开始,我们来探讨Java中的一些动态特性,包括反射、类加载器、注解和动态代理等。利用这些特性,可以以优雅的方式实现一些灵活和通用的功能,...

    swiftma

扫码关注云+社区

领取腾讯云代金券