您的位置:首页 > Web前端 > JavaScript

07年初更新的JavaScript引擎在处理Microsoft DHTML Behaviors时存在BUG

2007-05-08 23:41 288 查看
给我的 Windows 2003 Server 打了个SP2 补丁,然后QQ空间上不了了,有错误;SOHU 娱乐播报也看不了。想研究一下,不过QQ空间太庞大,研究不了,所以从SOHU 娱乐播报下手。

用MSE 调试,中断在http://news.sohu.com/usercltinfo.js里第49行:“WMPVersion= oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID");”。其中的“oClientCaps”源自htm文件中一行“<IE:clientCaps ID="oClientCaps" style="{behavior:url(#default#clientcaps)}" />”。

这是微软对DHTML的扩展功能:DHTML Behaviors。我把这两行单独拎出来放在一个htm里用IE打开,一切正常。奇怪之余把文件放在Tomcat 里结果就出错了。

再用QQ空间试验:错误出在http://imgcache.qq.com/qzone/client/js/G4.js的第228行:“UDiID=this.UD.addBehavior("#default#userdata");}”。又是与DHTML Behaviors相关的问题。而后一个错误“g_MDoc.float 为空或不是对象”我估计这是因为前一个错误导致一个userData变量没有成功赋值而产生的后续问题。

我宿舍其他人的电脑能正常浏览QQ空间。这样的话我的猜想就是我更新后的JavaScript 引擎处理远程脚本(如果是本地文件,则如同我先前试验的那样,是没有任何问题的)中的DHTML Behaviors 时存在BUG导致不能正常使用这一特性。从这个逻辑上来说的话,如果把JavaScript 引擎回滚到旧版本,应该能暂时避开这个BUG。不过我没有这样试,我准备在微软的新闻组发个帖说一下这事儿。等补丁吧。^_^

另:我的jscript.dll 的版本是5.6.0.8832,修改日期是2007年2月17日,不知道其它版本有没有这个BUG。。懒得烦了。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息