近日在工作中遇见IE无法打开javasript链接的问题,比网络上描述的状况还要复杂,是只可打开此类链接一次,然后再也无法打开其他链接!必须重新启动IE才可,每次打开一个链接都要重启IE,如此往复,造成不小的麻烦。
google后
参看Anyliz's Blog 的内容
http://www.anyliz.com/blog/article.asp?id=307
试后无果,问题依旧。
后来自己发现是由于IE调用的Urlmon.dll出错造成,可能是被某种病毒修改了该动态链接库。
处理流程如下:
1、将如下代码存为**.dat批处理文件,运行一次。重新注册所有dll。
- rem =====批处理开始========
- regsvr32 /s actxprxy.dll
- regsvr32 /s shdocvw.dll
- regsvr32 /s URLMON.DLL
- regsvr32 /s actxprxy.dll
- regsvr32 /s shdocvw.dll
- regsvr32 /s oleaut32.dll
- rundll32.exe advpack.dll /DelNodeRunDLL32 C:/WINNT/System32/dacui.dll
- rundll32.exe advpack.dll /DelNodeRunDLL32 C:/WINNT/Catroot/icatalog.mdb
- regsvr32 /s setupwbv.dll
- regsvr32 /s wininet.dll
- regsvr32 /s comcat.dll
- regsvr32 /s shdoc401.dll
- regsvr32 /s shdoc401.dll /i
- regsvr32 /s asctrls.ocx
- regsvr32 /s oleaut32.dll
- regsvr32 /s shdocvw.dll /I
- regsvr32 /s shdocvw.dll
- regsvr32 /s browseui.dll
- regsvr32 /s browseui.dll /I
- regsvr32 /s msrating.dll
- regsvr32 /s mlang.dll
- regsvr32 /s hlink.dll
- regsvr32 /s mshtml.dll
- regsvr32 /s mshtmled.dll
- regsvr32 /s urlmon.dll
- regsvr32 /s plugin.ocx
- regsvr32 /s sendmail.dll
- regsvr32 /s comctl32.dll /i
- regsvr32 /s inetcpl.cpl /i
- regsvr32 /s mshtml.dll /i
- regsvr32 /s scrobj.dll
- regsvr32 /s mmefxe.ocx
- regsvr32 /s proctexe.ocx mshta.exe /register
- regsvr32 /s corpol.dll
- regsvr32 /s jscript.dll
- regsvr32 /s msxml.dll
- regsvr32 /s imgutil.dll
- regsvr32 /s thumbvw.dll
- regsvr32 /s cryptext.dll
- regsvr32 /s rsabase.dll
- regsvr32 /s triedit.dll
- regsvr32 /s dhtmled.ocx
- regsvr32 /s inseng.dll
- regsvr32 /s iesetup.dll /i
- regsvr32 /s hmmapi.dll
- regsvr32 /s cryptdlg.dll
- regsvr32 /s actxprxy.dll
- regsvr32 /s dispex.dll
- regsvr32 /s occache.dll
- regsvr32 /s occache.dll /i
- regsvr32 /s iepeers.dll
- regsvr32 /s wininet.dll /i
- regsvr32 /s urlmon.dll /i
- regsvr32 /s digest.dll /i
- regsvr32 /s cdfview.dll
- regsvr32 /s webcheck.dll
- regsvr32 /s mobsync.dll
- regsvr32 /s pngfilt.dll
- regsvr32 /s licmgr10.dll
- regsvr32 /s icmfilter.dll
- regsvr32 /s hhctrl.ocx
- regsvr32 /s inetcfg.dll
- regsvr32 /s trialoc.dll
- regsvr32 /s tdc.ocx
- regsvr32 /s MSR2C.DLL
- regsvr32 /s msident.dll
- regsvr32 /s msieftp.dll
- regsvr32 /s xmsconf.ocx
- regsvr32 /s ils.dll
- regsvr32 /s msoeacct.dll
- regsvr32 /s wab32.dll
- regsvr32 /s wabimp.dll
- regsvr32 /s wabfind.dll
- regsvr32 /s oemiglib.dll
- regsvr32 /s directdb.dll
- regsvr32 /s inetcomm.dll
- regsvr32 /s msoe.dll
- regsvr32 /s oeimport.dll
- regsvr32 /s msdxm.ocx
- regsvr32 /s dxmasf.dll
- regsvr32 /s laprxy.dll
- regsvr32 /s l3codecx.ax
- regsvr32 /s acelpdec.ax
- regsvr32 /s mpg4ds32.ax
- regsvr32 /s voxmsdec.ax
- regsvr32 /s danim.dll
- regsvr32 /s Daxctle.ocx
- regsvr32 /s lmrt.dll
- regsvr32 /s datime.dll
- regsvr32 /s dxtrans.dll
- regsvr32 /s dxtmsft.dll
- regsvr32 /s vgx.dll
- regsvr32 /s WEBPOST.DLL
- regsvr32 /s WPWIZDLL.DLL
- regsvr32 /s POSTWPP.DLL
- regsvr32 /s CRSWPP.DLL
- regsvr32 /s FTPWPP.DLL
- regsvr32 /s FPWPP.DLL
- regsvr32 /s FLUPL.OCX
- regsvr32 /s wshom.ocx
- regsvr32 /s wshext.dll
- regsvr32 /s vbscript.dll
- regsvr32 /s scrrun.dll mstinit.exe /setup
- regsvr32 /s msnsspc.dll /SspcCreateSspiReg
- regsvr32 /s msapsspc.dll /SspcCreateSspiReg
- rem =====批处理结束========
2、在“开始”菜单中打开“运行”窗口,在其中输入“regsvr32 / u urlmon.dll”,然后“确定”,反注册urlmon.dll。
3、在C:/windows/system32下找到urlmon.dll,将其删除或重命名其他名称。将其他电脑中的urlmon.dll复制过来。
4、再次打开“运行”窗口,输入“regsvr32 /s urlmon.dll”,注册urlmon.dll。
启动IE,问题解决。