需要知道COM组件的ClassID,或者全名。
例如,你的COM组件名称为ABCSoft.COM1,ClassID为0000-00000000-0000,可以通过以下两种方法来使用:
1 纯JavaScript:
var obj = new ActiveXObject("ABCSoft.COM1");
obj.xxxMethod // 这里与COM组件的公开方法一致。
2 在页面嵌入:
<object id="obj" classid="0000-000000-0000" 其他属性...></object>
同样,在javaScript中对obj进行引用
例如,你的COM组件名称为ABCSoft.COM1,ClassID为0000-00000000-0000,可以通过以下两种方法来使用:
1 纯JavaScript:
var obj = new ActiveXObject("ABCSoft.COM1");
obj.xxxMethod // 这里与COM组件的公开方法一致。
2 在页面嵌入:
<object id="obj" classid="0000-000000-0000" 其他属性...></object>
同样,在javaScript中对obj进行引用
如果你需要在客户端调用一个com组件,那么你还要肯定该com已经在客户端正确注册了,否则是无法调用的。
如果需要自动下载com组件,必须注明codebase 属性,指出dll或ocx的下载位置。
详细情况,你可以打开任何一个有flash控件的叶面,就可以看到codebase属性。
但是还有一个问题,就是你的组件必须经过有效的机构进行签名,否则多数情况下,IE都不会自动下载该控件的。
如果需要自动下载com组件,必须注明codebase 属性,指出dll或ocx的下载位置。
详细情况,你可以打开任何一个有flash控件的叶面,就可以看到codebase属性。
但是还有一个问题,就是你的组件必须经过有效的机构进行签名,否则多数情况下,IE都不会自动下载该控件的。
示例1:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 2</title>
</head>
<OBJECT id=yuzi classid=CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F width="32" height="32"></OBJECT>
<SCRIPT>
var MerlinID;
var MerlinACS;
yuzi.Connected = true;
MerlinLoaded = LoadLocalAgent(MerlinID, MerlinACS);
Merlin = yuzi.Characters.Character(MerlinID);
Merlin.Show();
Merlin.Play("Surprised");
Merlin.Speak("欢迎来到我的家");
Merlin.Play("GestureLeft");
Merlin.Think("这是一个个人站点");
Merlin.Play("Pleased");
Merlin.Think("希望能给你带来一些方便与快乐");
Merlin.Play("GestureDown");
Merlin.Speak("谢谢光临!请以后常来!");
Merlin.Hide();
function LoadLocalAgent(CharID, CharACS) {
LoadReq = yuzi.Characters.Load(CharID, CharACS);
return(true);
}
</SCRIPT>
<body>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 2</title>
</head>
<OBJECT id=yuzi classid=CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F width="32" height="32"></OBJECT>
<SCRIPT>
var MerlinID;
var MerlinACS;
yuzi.Connected = true;
MerlinLoaded = LoadLocalAgent(MerlinID, MerlinACS);
Merlin = yuzi.Characters.Character(MerlinID);
Merlin.Show();
Merlin.Play("Surprised");
Merlin.Speak("欢迎来到我的家");
Merlin.Play("GestureLeft");
Merlin.Think("这是一个个人站点");
Merlin.Play("Pleased");
Merlin.Think("希望能给你带来一些方便与快乐");
Merlin.Play("GestureDown");
Merlin.Speak("谢谢光临!请以后常来!");
Merlin.Hide();
function LoadLocalAgent(CharID, CharACS) {
LoadReq = yuzi.Characters.Load(CharID, CharACS);
return(true);
}
</SCRIPT>
<body>
</body>
</html>
示例2