在IE中获取Flash播放器版本(SWFObject v2.2)

时间:2011-09-06 08:59:06

标签: javascript flash swfobject

我正在使用http://code.google.com/p/swfobject/中的swfobject.js文件。我正在尝试查看用户是否已安装Flash并处于活动状态。 It is supposed to displays the version number as 0.0.0 when it is installed but disabled。禁用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);


编辑:Firefox禁用Flash时正确警告0.0.0。 IE没有。

1 个答案:

答案 0 :(得分:2)

您做出了错误的假设 - 当安装Flash但未激活时,SWFObject不会声称返回0.0.0。它可能是非IE浏览器中Flash Player处理的副产品,但它不是官方的SWFObject功能。

You can read the swfobject.getFlashPlayerVersion API documentation here

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