有一段判断 客户端flash player activex版本的代码 <script type="text/javascript"  language="JavaScript">
var axo; 
var v;
var isIE = document.all && window.external;//非ie不执行 下面的内容
if(isIE){
function IE_Flash() {
try {
 var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); //创建 flash对象 
     //alert('222');  //这里可以输出内容
     v = axo.GetVariable("$version");
     //alert('222'); //到这里就不行了
     substrv=v.substr(4);//下面是对版本号的截取
     arrayv=substrv.split(",");
    if(arrayv[0]<10){
             alert("成功!");
        }
}
catch(e){
alert('失败')
}
}
}
IE_Flash();
</script>
如果单个页面测试 显示“成功”,如果放在程序中的页面 ,就像上面注释的一样,到第二个alert 就不能输出了,不知道是什么原因,代码完全相同!  请高手指点下

解决方案 »

  1.   

    两个页面的Flash版本一样吗?
      

  2.   

    放到程序里?程序在服务器上吧。这应该是因为客户端的IE安全设置,不允许你网站随意创建ActiveXObject。需要更改一下设置。对其它一些用户也存在这个情况。所以使用应谨慎。本来不允许创建是应该返回错误提示的,但由于你使用TRY错误抓获处理了,所以不会报错,而是直接去执行catch里的代码了(应该提示你“失败”了吧)。
      

  3.   

    在flash里面能判断版本吗?
    能的话就用flash判断版本
      

  4.   

    都是在本地架设的apache服务器上测试的