在使用Javascript调用ActiveX控件时,我的调用方式如下:
<OBJECT id=xpdocx height=0 width=0 classid=clsid:F9AE6CC7-8F67-4C27-A786-18A8B475A080><PARAM NAME="_StockProps" VALUE="0"></OBJECT>
    这个控件的作用是实现和外接设备的通讯,但是在使用过程发现一个问题:在第一次和设备实现连接后,如果没有关闭连接,而是直接跳转到其他页面,然后再回到这个页面去关闭和设备的连接时,就会发现无法关闭。只有完全退出网页后才能实现再次连接。页面跳转的code如下:
<input type="button" id="homebutton" value="Home" name="homebtn" onClick="jumpto('webdemo.htm')">
     若是在跳转前,先关闭连接,之后无论是否跳转,下一次连接都可以成功。
     我的疑问就是,像我这种方式两次调用同一个ActiveX控件,id相同,其实际创建的实例是同一个吗?为什么我在页面跳转后无法实现关闭?如果是我调用的方式不对,有其他什么方式吗?

解决方案 »

  1.   

    F5刷新的话,是同一个.但这样跳来跳去,彻底重新加载,就不是一个了.DOM结构整个重建.之前未关闭的OBJECT对象就迷失在内存中了.所以应该关闭再跳转.这和数据库后台程序在页面结尾应销毁RS对象释放内存道理一样.
      

  2.   

    我怎么觉得好像有点不对劲, LZ为什么要在页面跳转后关闭, 在跳之间关闭不是更好, 跳转后的页面如果有需要再打开就可以, 如果你不关闭就跳转,在跳转之后再来关闭,试问页面都加载刷新重定向了,你再关闭能关闭什么? 我也不知道理解对不对,就算你能关闭你最多也就关闭当前页面,对上一个URL地址的你肯定关闭不了。