为什么玩游戏时会显示vba activex时间控件的控件使用不正确

JavaScript使用ACTIVEX控件引起崩溃问题的解决 - CSDN博客
JavaScript使用ACTIVEX控件引起崩溃问题的解决
JavaScript使用ACTIVEX控件引起崩溃问题的解决
在本人目前的项目中,前端部分完全使用EXTJS基于“One-Page”理念搭建。除了一个HTML作为基本容器外,就全是JS文件了(页面是由JS文件实现的)。当用户切换页面时候,我们通过析构上一个页面对象,然后创建新页面对象并展现在HTML中。基于这种架构,我们还引入了一个ActiveX控件,用于展现报表。这一引入,问题就出来了:只要是访问有报表控件存在的页面,用户切换2次页面,IE就会崩溃(FF无此问题),百试不爽。
因为系统设计时考虑到了资源释放,专门处理过析构部分,而且无ActiveX的页面不存在问题。故问题肯定是出在IE对包含在JS中的ActiveX控件释放出了问题。毕竟在传统的以HTML或JSP、PHP页搭建的前端中,ActiveX是属于页面的,只要用户一跳转,页面被Unload,其中的ActiveX也就销毁了;而我们的系统使用的是通过不断的重绘一张HTML页面实现跳转,也就是系统永不会刷新,也就没有Unload,ActiveX自然无法销毁,导致浏览器崩溃。
知道了原因,我们就想想法子。既然IE无法帮我们销毁ActiveX控件。我们自己来就好了:
//@AcitveXObjectID: 要查找的节点范围,从此节点一下查找待删除的ActiveX。
//@ContianerID: 要删除的ActiveX控件ID。
function ActiveXKiller(AcitveXObjectID,ContianerID){&&
&&&&&&& var&& ce=document.getElementById(ContianerID);&&
&&&&&&& if (ce){
&&&&&&&&&&& var&& cce=ce.&&
&&&&&&&&&&& for(var&& i=0;i&cce.i=i+1){&&
&&&&&&&&&&&&&&& if(cce[i].id==AcitveXObjectID){&&&
&&&&&&&&&&&&&&&&&&& ce.removeChild(cce[i]);&&
&&&&&&&&&&&&&&& }&&
&&&&&&&&&&& }&&
这个方法就是用来干掉ActiveX控件的。 原理也简单。就是根据给定的一个节点范围内(一般是ActiveX控件的父节点、容器), 用给定的ActiveX在Dom中的ID来逐级查找,一旦找到就手动Remove。
有了这个Killer,我们就能在页面重绘之前,先搞定ActiveX,避免了崩溃。
另外要提到的,有一个特殊情况。就是当你将一个ActiveX控件放在了一个Ext.Window 里。而天真地想让Ext.Window在关闭的时候顺带帮你把里面的ActiveX也销毁,就必须符合一个条件:
ActiveX的容器必须是Ext.Window本身。
也就是说:如果你将ActiveX控件放在一个Ext.Panel里,然后再放在Ext.Window里。就别指望Ext.Window关闭的时候可以带你的ActiveX控件“一起走”了。
本文已收录于以下专栏:
相关文章推荐
概述IE直到控件第一次可见的时候才创建ActiveX控件,调用WM_CREATE的处理代码。在离开或者关闭页面的时候也没有调用WM_DESTORY的处理代码。在控件大小是0*0的时候也有同样的问题。如...
function  window.onbeforeunload()  {  
 // alert(&关闭窗口&)
  ActiveXKiller(&myocx&,&voicearea&)...
在面向对象编程中,经常会面对创建对象和销毁对象的情况,如果不正确处理的话,在短时间内创建大量对象然后执行简单处理之后又要销毁这些刚刚建立的对象,这是一个非常消耗性能的低效行为,所以很多面向对象语言中在...
/yedaoq/archive//2341591.html
DestroyWindow函数
DestroyW...
一、什么是 ActiveX 控件?
        ActiveX 控件广泛用于 Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容...
当我们通过VC向导创建一个ActiveX插件.将这个插件添加到页面中。在有的情况下会使得关闭过程中IE崩溃。位置在
AfxWndProc(HWND hWnd, UINT ...
html/js调用ocx控件(activex控件),不能加载,不能使用的原因
         用c++写的ocx控件,在web端(准确地说是ie浏览器,其它浏览器不能很好地支持),调用时,不能加载,...
转自:/qguohog/archive//2876828.html
    简单总结一下前几篇文章的内容,《浏览器插件...
regsvr32 UnionSzfzPinPad.ocx
regsvr32  -u UnionSzfzPinPad.ocx
用VC向导创建   MFC   ACTIVEX   CO***OL,   
默认生成CMyTestApp,   CMyTestCtrl,   CMyTestPropPage三个类。 
添加了CMyTe...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)网速在线测试
网速测试的目的是测试用户上网线路下载文件能达到的速率。
几种上网方式参考速度: * 512k带宽时下载速度:58K/S* 1M带宽时下载速度:90K/S * 1.5M 带宽时下载速度:130K/S * 2M带宽时下载速度:180K/S * 3M 带宽时下载速度:270K/S* 4M 带宽时下载速度:360K/S。
用户申请的宽带业务速率指技术上所能达到的最大理论速率值,用户上网时还受到用户电脑软硬件的配置、所浏览网站的位置、对端网站带宽等情况的影响,故用户上网时的速率通常低于理论速率值。
IE11网页加载项和控件不能运行的解决方法
作者:admin&&&&时间: 8:57:49&&&&浏览:
最近在win2008系统***了IE11,想见识一下这款最新的IE浏览器是怎么样子的。装了之后很是喜欢,其界面看起来很清爽,上面只有一个地址输入框,右侧有几个图标,是功能设置的按钮。不过,打开网页一看,立即傻了眼,很多东西都显示不出来,连flash都加载不了,而一些控件也无法运行。打开加载项管理界面,看到很多加载项都被禁止了,这是为什么呢?经过一番摸索,原来是可以设置是否启用增强性功能的,IE浏览器,自从win2003之后,就有了增强型功能,其目的是为了IE浏览器更安全的运行。那么,IE11浏览器如何设置启用增强性功能呢?比较简单,方法如下:1、点击浏览器右上角的&工具&图标点击&工具&2、点击&Internet 选项&点击&Intenet 选项&3、打开界面后,切换到&高级&标签,滚动条往下拉,把&启用增强保护模式&的勾去掉,然后别忘了点击&确定&按钮。启用增强保护模式设置4、设置完毕后,重启IE浏览器,网页即可正常使用了。此方法无效怎么办?如果这个方法还不凑效,那么可能需要关闭IESec功能,方法也很简单,只需两步,请参考上篇文章。
&&&&& 相关链接&&&&& &&&&& 时下比较流行的浏览器有Chrome、IE和Firefox,它们都拥有一大批忠实的用户。我本人则通杀各方,各款浏览器都在时不时的使用,电脑里就装有4款不同的主流浏览器。而至于什么时候使用什么浏览器,则要看浏览什么网页而定了。&&&&& 今天,我颇有兴趣的对比了一下Firefox和IE这两款浏览器的上网速度,结果可能在大多数人的意料之内,那就是Firefox打开网页的速度要比IE快很多。&&&&& 。。。
把文章分享到:
QQ交流群()

参考资料

 

随机推荐