你用
<Object codebase="http://xxxx/xx.cab" 进行下载吧,如果客户不想用你的插件,怎么写都没有用

解决方案 »

  1.   

    这个办法不是不可以,但是用codebase方法会自动提示出要下载这个控件,而我们希望是点击一个链接或button的时候检测客户端,如果已经安装那么转向到下一个页面,否则转向至安装页面并给出安装方法。这样codebase就不适用了。
      

  2.   

    奇怪了,我也是用同样的方法检测ActiveX的,在WinXp sp2, IE6没有什么问题啊。不过,我的ActiveX是我自己写的,实现了ISafeObject接口(也就是是说,在2k下js调用时,不会提示“在此页上的ActiveX...交互可能不安全,你想允许这种交互吗?”)
    可能跟这个有关系。
      

  3.   

    to楼上
    我认为也是这个原因。
    但是除了开发的时候实现这个接口外,有没有办法通过其他方法标住该控件是安全的?
    msdn上有一篇文章里提到可以在注册表里添加键值的方式来做到这一点
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q161873
    但是我按照它的方法做了之后依然不能避免那个对话框的跳出。
      

  4.   

    找到方法了,其实也是别人教的
    html里面写入activex的标签,但是标签内不要写codebase,即
    <object id="Checker" name="Checker" classid="clsid:CE7DEBF2-D163-4C12-9DBF-15EA133B5B43" VIEWASTEXT></object>
    这样就行了
    然后
    try
    {
    Checker.Method1();
    alert("has installed the activex")
    }
    catch(e)
    {
    alert("has not installed the activex")
    }这样就不会有强制安装的问题,也不会提示unsafe的问题