Windows XP系统下登录QQ游戏,经常弹出一个脚本错误对话框,显示某行代码缺少对象或语法不正确,点确定后游戏窗口直接消失。这个问题在XP上特别多,因为QQ游戏大厅的界面依赖IE内核解释网页,而XP自带的IE6或升级后的IE8,在JavaScript引擎和ActiveX控件上已经跟不上现在的游戏脚本。
先处理系统脚本组件。在开始菜单的运行框里输入cmd,回车,打开命令提示符。逐条输入以下内容,每输入一行按一次回车:
regsvr32 mshtml.dll
regsvr32 jscript.dll
regsvr32 vbscript.dll
regsvr32 oleaut32.dll
执行后会出现提示,说某某文件注册成功。这几条命令把损坏或未注册的脚本相关DLL重新登记到系统里,能解决相当一部分错误。注册完关掉窗口,重新进入QQ游戏看看。
如果还弹错,就打开IE浏览器,点击工具菜单,选择Internet选项,切到高级标签。在设置列表里找到“禁用脚本调试”和“显示每个脚本错误的通知”这两项。把两个“禁用脚本调试”的复选框都打上勾,再把“显示每个脚本错误的通知”前面的勾去掉。这个操作的效果是,不再让IE去逐行检查脚本错误,只要脚本勉强能运行,就不打断。改完点确定,重启浏览器和QQ游戏。
脚本错误也经常和临时文件搅在一起。QQ游戏每次启动要读不少缓存的脚本文件,这些文件如果被安全软件清掉了一半,或者写入时出错,就会导致报错。清理方法是:在IE的Internet选项常规标签下,找到浏览历史记录,点删除按钮,勾选临时文件、Cookie、历史记录,然后删除。也可以用磁盘清理工具,在C盘上点右键,属性,磁盘清理,把所有能勾的都勾上,确定清理。清理完临时文件后,最好关掉电脑再开,让系统重新生成干净的缓存。
还有一个容易被忽略的方面是Flash插件插了一脚。QQ游戏里的很多棋牌游戏用Flash渲染,Flash和IE脚本引擎之间一直有兼容性问题。XP系统只能安装比较老的Flash版本,这些老版本又经常出现崩溃或内存泄漏。可以去控制面板的添加或删除程序,查看Flash的版本号。如果版本很旧,比如还是9.0之前,最好去下载一个适合XP的Flash安装包。安装时注意去掉附带的浏览器工具条和首页锁定选项。

如果以上手段都没有效果,那就把IE整个重置一遍。在Internet选项的高级标签里,点重置按钮,勾选“删除个性化设置”,点确定。重置之后,IE会恢复成Windows刚安装好的样子,任何第三方工具条、恶意BHO插件造成的脚本干扰都会被清掉。注意,重置会取消你的默认浏览器设置和主页,重新设置一下就行。
脚本错误也可能出在QQ游戏客户端本身。官方的在线安装器有时候下载的文件不完整。建议把QQ游戏彻底卸载,卸载时选择删除所有本地用户数据,然后去官网下载完整版安装包。完整安装包比在线安装器大不少,但内部脚本文件是完整的。安装路径不要放在中文目录下,默认的C:\Program Files\QQGame就可以,避免路径里的中文引起编码乱套。
最后,如果XP实在是撑不住了,可以试试右键QQ游戏快捷方式,选属性,在兼容性选项卡里,把操作系统改成Windows 2000。老程序在Windows 2000兼容模式下的行为会更保守,有时反而能躲开脚本错误。微软在2014年已经停止为XP提供更新,新版的QQ游戏大厅也逐步放弃对XP的支持,所以如果上述办法都无效,只能找个旧版QQ游戏客户端使用,或者考虑升级到Windows 7。
处理这个问题的顺序很重要,先做前两步,大多数常见错误已经能被消掉。不要一次把所有方法全做完再试,那样出了问题没法定位。每一步操作后都重新打开QQ游戏,观察错误是否出现。经验上,脚本错误不会因为某一次成功就永远消失,有时需要隔几天重新注册一次DLL,但起码不会挡住进入游戏的路了。