我正在使用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没有。
答案 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)的最终用户的问题。