Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript如何访问ActiveXObject_Javascript_Browser_Flash - Fatal编程技术网

javascript如何访问ActiveXObject

javascript如何访问ActiveXObject,javascript,browser,flash,Javascript,Browser,Flash,我正在尝试检查Flash Player的可用性以及下面给出的版本 var a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); if (a) { // a will return null when ActiveX is disabled d = a.GetVariable("$version"); if (d) { d = d.split(" ")[1].split(","); playerVersion = [pa

我正在尝试检查Flash Player的可用性以及下面给出的版本

var a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
if (a) { // a will return null when ActiveX is disabled
    d = a.GetVariable("$version");
if (d) {
   d = d.split(" ")[1].split(",");
   playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
}
}
它返回正确的版本(如果可用)

但是,在以下情况下,我面临一个问题:

  • 假设没有安装flashplayer
  • 我已经打开了我的浏览器(我使用的是Firefox)并访问了上面提到的javascript(嵌入到HTML中),它返回0.0.0,这是正确的
  • 现在,我已经安装了flash player,并且在不关闭浏览器的情况下访问了相同的代码,它仍然返回0.0.0版本,这是错误的
  • 但是,如果我重新打开浏览器,它会给出正确的结果

  • 浏览器何时加载ActiveXObject?有没有办法在不重新打开浏览器的情况下获得正确的flash player版本

    我按下按钮,重新加载浏览器时将正确返回版本,因此如果没有可用闪存,您可以设置
    setInterval
    ,每30秒检查一次是否可用,如果可用,则重新加载


    此外,如果你在页面上放置一个隐藏的flash对象,在很多浏览器中,flash本身会重新加载它看到flash对象的任何选项卡。或者可能是浏览器本身在刷新,不确定,但我知道至少如果页面上有这样的对象,它会在各种浏览器中刷新。

    谢谢David的快速回复。我已尝试重新加载(刷新)浏览器。但它仍然没有给我正确的结果。只有在重新打开浏览器(关闭然后再次打开)后,我才能得到正确的结果。如果flash player不可用,我计划重定向到其他页面,用户可以在安装flash player后单击链接返回到原始页面,而无需关闭浏览器。这很奇怪。。。你有没有试着添加一个隐藏的“假”闪光物体?