在IE中获得flash播放器版本(SWFObject v2.2)

Getting the flash player version in IE (SWFObject v2.2)

本文关键字:SWFObject v2 版本 播放器 IE flash      更新时间:2023-09-26

我使用来自http://code.google.com/p/swfobject/的swfobject.js文件。我想看看用户是否安装了Flash并激活。它应该在安装但被禁用时将版本号显示为0.0.0。当我禁用Flash时,这个页面会提醒0.0.0。这就是我想要的。

如果我从上面的页面复制源代码,并在我的桌面上运行它-它工作得很好。然后我尝试使用相同的代码,但在我的IIS上,它给了我安装的版本,即使它是禁用的。这是否与mime映射有关?

我使用下面的代码:

var playerVersion = swfobject.getFlashPlayerVersion();
var output = "You have Flash player " + playerVersion.major + 
             "." + playerVersion.minor + "." + playerVersion.release + 
             " installed";
alert(output);


编辑:当我禁用Flash时,Firefox会正确地提醒0.0.0。

您做了一个错误的假设——当Flash安装但未激活时,SWFObject没有声明返回0.0.0。它可能是Flash Player在非ie浏览器中处理的副产品,但它不是官方的SWFObject特性。

(你可以在这里阅读swfobject.getFlashPlayerVersion API文档)

SWFObject检测是否安装了Flash Player,它不检查是否已被用户禁用。事实上,由于浏览器实现Flash Player插件的各种方式,几乎不可能可靠地检测到Flash是否已被用户禁用。同样,使用SWFObject的Flash开发人员经常会遇到安装AdBlock和FlashBlock等浏览器扩展的最终用户的问题。