IE Javascript 脚本失效解决办法

IE 浏览器的脚本失效是个源远流长的问题了,有时撞上了那也只能归结于缘分,完全没得解释。这次本人就是中大彩的缘分,被小小地撞了一下腰。

当然脚本失效也有轻重,有时是页面全部烂晒,图片文字全部显示错位,惨不忍睹,其实坏的这么彻底反倒容易发现问题,也容易解决。最怕就是那种大问题没有小问题不断的情况,像我,基本的脚本效果都支持,就是用到调用 window.opener 的函数方法时报错:类不能支持 Automation 操作。这么具体的出错信息在 Baidu/Google 也找不到什么有用信息,可谓万念俱灰。

严格来说已经很难说是 IE 的错,但按照经验通常你对 IE 进行折腾,例如 IE6 升到 IE7/IE8,或重装,不同程度的第三方软件的修复,一般都不能解决问题。如果一定需要一个理由,应该是在某年某日中了某个木马升级了某个补丁或者卸载某个软件,而导致某个组件某个动态扩展被反注册掉而无法支持某种效果……

说到这里,要说说 regsvr32 命令,是一个注册 DLL 动态扩展库的命令行工具。方法:在“运行”里面输入regsvr32 dllname,回车即可。使用上有几个参数:

/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用

从网上摘录了几个解决 IE Javascript 脚本失效的办法,逐步执行,前面不行了才执行后面的,机器无须重启的。

最简单的级别,注册两个脚本库(如上文页面完全烂晒的情况):

regsvr32 jscript.dll
regsvr32 vbscript.dll

如果还不行,再注册多几个(包括连接无法打开新窗口等):

regsvr32 Shdocvw.dll
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
regsvr32 browseui.dll

如果还不行,把以下代码复制到 CMD 命令行里面粘贴执行:

rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\System32\dacui.dll
rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\Catroot\icatalog.mdb
regsvr32 /s comcat.dll
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 mshtml.dll /i
regsvr32 /s scrobj.dll
regsvr32 /s corpol.dll
regsvr32 /s jscript.dll
regsvr32 /s msxml.dll
regsvr32 /s imgutil.dll
regsvr32 /s cryptext.dll
regsvr32 /s inseng.dll
regsvr32 /s iesetup.dll /i
regsvr32 /s cryptdlg.dll
regsvr32 /s actxprxy.dll
regsvr32 /s dispex.dll
regsvr32 /s occache.dll
regsvr32 /s iepeers.dll
regsvr32 /s urlmon.dll /i
regsvr32 /s cdfview.dll
regsvr32 /s webcheck.dll
regsvr32 /s mobsync.dll
regsvr32 /s pngfilt.dll
regsvr32 /s licmgr10.dll
regsvr32 /s hhctrl.ocx
regsvr32 /s inetcfg.dll

如果还不行,那我也没办法拉,反正我就是到这里问题就搞掂了,所以专门在这里纪录一下。PS:理论上这些只是重新注册一下已经存在的文件,就算无法解决问题,应该也不会引起其他问题。

——将本页面分享到——

10 thoughts on “IE Javascript 脚本失效解决办法

  1. thanks

    修复成功!感谢博主!

  2. will

    太感谢了,这种问题还真是比较恼火。。IE没有任何有用的提示

  3. Link

    我也刚用上WIN7,IE8也会这样?默认搞了很多安全措施啊。。

  4. justrio

    有没有WIN7的解决办法?

  5. xue.yi@gti.cn

    您好!麻烦您能跟我联系下么? 谢谢。我们现在有个软件遇到了这个问题,按照这些命令弄完了也不是马上好。有些是重启后好,有的重启了也不管用,有可能次日才好。
    特想跟您请教下,有什么办法么?

  6. feio

    很可怕的就是,我的这份孽缘,使用了CMD命令之后,还是没有修复好,5000年的妖孽

  7. guest

    按lz的方法成功修复,省得我重装了,谢谢。
    “IE 浏览器的脚本失效是个源远流长的问题了,有时撞上了那也只能归结于缘分,完全没得解释。” 这句话讲得很好!