各位大师:
   我写了一个ActiveX控件,要在Web页中使用,
   该网页的代码如下:
<object id="HS" CLASSID="CLSID:10470822-22A0-11D5-8AB9-00E04C3B815E">
</object><script language="VBS">
val=-1
Sub ShowLink(int)
  val=HS.ChuShiHua ()
End sub  
</script>
    如果本机上装有该件,能正确浏览网页.
    如果本机上没有安装该控件,浏览器(IE)执行到 val=HS.ChuShiHua ()时网页出现一个“对象不支持此属性或方法的”的错误。
   我们怎样保证用户在没有安装该控件的情况,也能正确浏览网页,即怎么能在HTML语句中判断本机中没有该控件,以至于网页不出错?

解决方案 »

  1.   

    <object id="HS" CLASSID="CLSID:10470822-22A0-11D5-8AB9-00E04C3B815E">
    </object><script language="VBS">
    val=-1
    Sub ShowLink(int)
        if   isobject(HS)
         val=HS.ChuShiHua ()
    End sub  
    </script> 
      

  2.   

    可以将ActiveX控件压缩成CAB包,自动下载安装!一般的VC++,Delphi等都提供此功能!
      

  3.   

    volcary(冰火山) 兄,按照你的方法IsObject()函数不论本机是否装有控件(注册控件)函数的返回值都为真。此法没有达到目标。是否真的象qaymuic(qaymuic)所说只有设置浏览器了,不过此法将会给用户带来麻烦。难道真的还要编一个自动下载安装的控件来判断这个控件的本机是否有安装吗?
       望各位大师再继续指点!!!!
      

  4.   

    可以将ActiveX控件压缩成CAB包,自动下载安装!一般的VC++,Delphi等都提供此功能!
    cab包里边一般包括*.inf,*.ocx,*.dll几种文件,编写*.inf文件自动注册即可。
    html自动下载注册语法:
    <object id="down" classid="clsid:B3DECCA8-495F-11D2-B578-006097C768D6" codebase="Cab/*.cab#version=1,0,1,2">
    </object>
    或者直接用:
    <object id="down" classid="clsid:B3DECCA8-495F-11D2-B578-006097C768D6" codebase="path/*.ocx#version=1,0,1,2">
    </object>
      

  5.   

    tigersky2000(tigersky2000) 兄,请告诉我可乐吧的位置的相关内容,谢谢?
    急急急!!!!!
      

  6.   

    use javascript then 
    try 
    {
    //...

    }
    catch(e) { }
      

  7.   

    <HTML>
    <BODY onload="test();">
    <object id="HS" CLASSID="CLSID:10470822-22A0-11D5-8AB9-00E04C3B815E">
    </object>
    <script language="JavaScript">
    <!--
    var varret = -1;
    function test()
    {
    try
    {
    varret =HS.ChuShiHua ();
    }
    catch(e)
    {
    alert("error catched");
    }}
    !-->
    </script>
    </BODY>
    </HTML>
      

  8.   

    你用腾迅的那个破浏览器打开kele8,然后点打开游戏,再看打开的那个页面的源程序,里面有判断是否安装的源代码! 贴出来给你看吧!<SCRIPT language=VBScript>
    dim isfirst
    isfirst=0
    Function AgentVersion()
    AgentVersion = 0
    On Error Resume Next
    If CanCreate("QQmsg.QQmsgMain") Then
    AgentVersion = 1
    Else
    AgentVersion = 0
    End If
    End Function
    Function CanCreate(ctlName)
    Dim agent
    On Error Resume Next
    Set agent = CreateObject(ctlName)
    CanCreate = IsObject(agent)
    Set agent = Nothing
    End Function
    </SCRIPT>
    <SCRIPT language="javaScript">
    if(!AgentVersion())
    {
    isfirst=1
    alert("您可能是第一次进入本网站,本站的现在将安装一个插件");
    }
    </script>
      

  9.   

    tigersky2000(tigersky2000) 、masterz() 兄,非常感谢你的贴子,按照你的方法我已成功地完成了工作,这里还要感谢其它加贴的朋友。给tigersky2000(tigersky2000) 、masterz() 各加工50分,谢谢!!!!!!!