我正在使用来自 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);
编辑:当我禁用 Flash 时,Firefox 正确地提醒 0.0.0。 IE 没有。
最佳答案
您做了一个错误的假设——当 Flash 安装但未激活时,SWFObject 并未声明返回 0.0.0。它可能是 Flash Player 在非 IE 浏览器中处理的副产品,但它不是官方的 SWFObject 功能。
( You can read the swfobject.getFlashPlayerVersion
API documentation here )
SWFObject 检测是否安装了 Flash Player,它不会检查它是否已被用户禁用。事实上,由于浏览器实现其 Flash Player 插件的方式多种多样,几乎不可能可靠地检测到 Flash 是否已被用户禁用。同样,使用 SWFObject 的 Flash 开发人员经常遇到安装 AdBlock 和 FlashBlock 等浏览器扩展的最终用户的问题。
关于javascript - 在 IE 中获取 flash 播放器版本 (SWFObject v2.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7317346/