ActiveX访问外部网络的问题

Posted on 2011-03-15 17:24  チャチャの楽園  阅读(847)  评论(0编辑  收藏  举报

今天客户提了一个令人比较头痛的问题。客户那边的环境是这样的:由于是工厂的生产环境,使用局域网,不能连接Internet。他们部分部门需要用到页面S上的ActiveX控件进行硬件检测,因此这些部门的客户端IE上启动了运行ActiveX的选项;其他部门不需要使用ActiveX,于是就关闭了运行ActiveX的选项。

背景就是如此,但是在进入页面S时,开启了运行ActiveX的选项的客户端IE就能很快地进入页面,但没有开启运行ActiveX的选项的客户端IE则卡住了4、5分钟才能进入页面,但是如果给这批加载缓慢的客户端连接Internet的话,速度又会快起来。

客户对此颇有意见,咨询我的意见,我对ActiveX也不熟,头大了。于是上网搜了一堆网页,发现有人说IE加载没有带CodeBase属性的ActiveX时,会去请求Internet,使得没有连接Internet的客户端加载缓慢。几经查找,原来ActiveX没有指明CodeBase时,IE会去注册表找寻CodeBase的默认请求路径,这个路径是http://activex.microsoft.com/objects/ocget.dll。真相大白了,就是这个请求路径导致不能上网的客户端就请求不了这个路径,只有等超时后才会加载页面。

解决方法可以在注册表中查到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\,其中有一个键叫CodeBaseSearchPath,将原来的值CODEBASE;http://activex.microsoft.com/objects/ocget.dll改成CODEBASE,删掉后面部分,这样IE就不会去请求后面的路径,加载页面快多了。

具体可以参考http://support.microsoft.com/kb/323207

 

Copyright © 2024 チャチャの楽園
Powered by .NET 8.0 on Kubernetes