Javascript 在IE7-vista上检测adobe flash版本

Javascript 在IE7-vista上检测adobe flash版本,javascript,flash,windows-vista,internet-explorer-7,Javascript,Flash,Windows Vista,Internet Explorer 7,我似乎无法检测到Vista/IE7上安装的flash版本 以下代码失败: var x = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 我得到的错误是: automation server cannot create object 看看Adobe Flash检测工具包(来自Adobe),它看起来也失败了。我只有一台vista机器可以测试,所以我很好奇: 有办法解决这个问题吗 每个人都会遇到这个问题吗 我已经在Windows XP上

我似乎无法检测到Vista/IE7上安装的flash版本

以下代码失败:

var x = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
我得到的错误是:

automation server cannot create object
看看Adobe Flash检测工具包(来自Adobe),它看起来也失败了。我只有一台vista机器可以测试,所以我很好奇:

  • 有办法解决这个问题吗
  • 每个人都会遇到这个问题吗
我已经在Windows XP上的IE6和IE7上成功地测试了这一点。

有关于如何检索当前安装的Flash版本的详细信息。所有类似的示例都使用actionscript(v2+),它们只是汇编有关flash版本的信息并将其显示给用户。

看起来像swfobject--这是一个实际可行的选项

“它是SWFObject1.5、UFO和Adobe Flash Player检测工具包的继承者。”-

代码如下所示(未在未安装闪存的机器上测试):


$(窗口)。加载(函数(){
试一试{
var flashPlayer=swfobject.getflashplayervision();
var flashVersion=flashPlayer.major+“+flashPlayer.minor+”+flashPlayer.release;
}捕获(ex){
}
});

不幸的是,我正在寻找javascript方法,甚至adobe自己的检测系统也失败了。我使用的是Win XP和IE8,我在js中试用了两种不同的flash检测库。这两种方法对我都有效——也许这也会对你有所帮助:我还没有看到令人满意的答案,所以我打算接受这一个;我不认为这是非常相关的了。我怀疑这是我在那里设置的特定错误。
<script type="text/javascript" src="/Scripts/swfobject/swfobject.js"></script>
<script type="text/javascript">
$(window).load(function() {
    try {
        var flashPlayer = swfobject.getFlashPlayerVersion();
        var flashVersion = flashPlayer.major + "." + flashPlayer.minor + "." + flashPlayer.release;
    } catch (ex) {
    }
});
</script>