js怎么调用OCX控件啊,我已经注册了OCX控件,并且也提示注册成功,clsid也是正确的,但是就是方法什么的都调用不了,怎么回事啊,大哥些能帮忙看看么,都搞了两天了,还没点头绪?<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function Play()
{
  alert("Action");
  var Earth = document.getElementById("Earth");
  Earth.WebStartView('login.4006043110.com','8006','53t02','1012050002','S1110230040'); //配置参数,调用函数
  //earth.SetSize(800,600);//设置大小
  alert("显示!");

</script></head><body><object id= "Earth" classid= "clsid:CE0CB977-24AC-48F2-BAAC-A54AD071A817" codebase= "/Release/earth.ocx" width= "352 " height= "288 " align= "absmiddle "></object>
<br /><br />
<INPUT id="button1" type="button" value="打开" name="button1" onclick="javascript:Play()"></body>
</html>

解决方案 »

  1.   


    我也不知道算不算是搞定了,因为如果有注册了ocx的话就一切正常,控件的方法都可以调用。如果首次打开这个网页就很慢,半天才有提示。我用的是try...catch,但是我一页要调好几次控件,只是说传入的参数不同,这样的话,一个个判断要很久时间,会等崩溃的时间,才会弹出来提示“控件加载失败”,我现在就想知道JS怎么判断调用ocx是否成功?
      

  2.   

    JS调用控件的方式很简单哦:如果是微软提供的IE浏览器,则可以在VS2008开发工具中建立一个OCX插件,其class-id由开发工具自动帮你生成。只要在JS中使用<object>标签,在该标签中的classid中引入工具生成的classid即可,calssid在工程文件的XXX.idl文件中。其文件的中的“//XXX的类信息”下的uuid即为JS调用控件时的calssid。记得,classid是唯一的;切忌,在调用OCX是,需要对OCX控件进行注册。如果是FF或者chrome或者safari浏览器时,因为采用的是NPAPI架构的plugin,所以JS调用插件时,不能使用<object>标签,应当使用<embed>标签,该标签中的type属性等号后的"application/XXXXXX"为NPAPI工程中资源文件中所定义的。NPAPI编译后的插件为dll文件,该插件浏览器调用时无需注册。
      

  3.   

    建议你
    1 下载个oleview软件,查看下ocx里的接口,检查下classid是否有错
    2 ocx控件只能在ie调用,且需要将网址加入到安全网址里,在调一下安全级别
      

  4.   

    报错!Uncaught TypeError: Object #<HTMLObjectElement> has no method 'AddFun' Noname1.html:13
          AddFun Noname1.html:13
          (anonymous function)