ActiveX触发JS事件

饭后散步 2008-03-12 08:17:19
照着VCKbase里杨老师的教材抄了一遍代码(地址是http://www.vckbase.com/document/viewdoc/?id=1539),大致内容就是用Atl支持连接点的方式做个ActiveX,接着我想在IE中将这个事件触发JS函数,JS脚本这么写的:
<script>
function callback(){
alert("OK");
}
function Go()
{
var reg;
reg = new ActiveXObject("ProgID.test);
reg.Result = callback;
reg.Add(1,2);
}
</script>
但是callback怎么都没法触发,这个问题出在哪呢?
Result是连接点,Add是ActiveX的一个方法
...全文
296 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
应该写注册响应函数。

用这种方式生成对象。
<object ... > </object>

看这里
http://hi.baidu.com/huhe/blog/item/817a59ee1ca423f8b3fb95de.html
jameshooo 2008-03-13
  • 打赏
  • 举报
回复
onreadystatechange 就是一个属性,而不是连接点
饭后散步 2008-03-13
  • 打赏
  • 举报
回复
不好意思,现在才能上网,看了楼上几位的回贴霍然开朗了:)如果还解决不了再问各位,先结了
饭后散步 2008-03-13
  • 打赏
  • 举报
回复
不好意思,现在才能上网,看了楼上几位的回贴霍然开朗了:)如果还解决不了再问各位,先结了
饭后散步 2008-03-13
  • 打赏
  • 举报
回复
不好意思,现在才能上网,看了楼上几位的回贴霍然开朗了:)如果还解决不了再问各位,先结了
饭后散步 2008-03-13
  • 打赏
  • 举报
回复
不好意思呐,白天没时间看,看了楼上的高手问题应该可以解决掉了,我先结贴,如果还搞不定就再来问:)
myy 2008-03-12
  • 打赏
  • 举报
回复
...onreadystatechange = callback,这样的形式是如何实现的呢?

--------
1楼都说了,IDispatch*

ActiveX内部在想要调用callback时,用 IDispatch* 的 Invoke 执行即可...
饭后散步 2008-03-12
  • 打赏
  • 举报
回复
那如果是因为js不支持连接点的话,那ajax中经常用的那句onreadystatechange = callback,这样的形式是如何实现的呢?
jameshooo 2008-03-12
  • 打赏
  • 举报
回复
如果仅仅通过脚本来设置回调,Result应该以属性的方式来设置,即Result是一个IDispatch*类型的属性,这是因为js并不支持连接点,vbs是可以的。使用连接点和属性在内部实现上有很大的差别。
另一种可选的做法是在页面里做成一个object元素,然后在标签里设置事件,比如<object ... Result="callback()"></object>

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧