涂雅[博客园]
最新文章请访问独立博客:http://iove.net

最近有用户报告,在IE8的情况,访问我们公司的网站,出现浏览器崩溃的情况,但一直没查出原因,上周末的时候,副总发短信说,他也出现了同样的问题,而且是在升级了Flash浏览器之后出浏览器崩溃的情况。今天以最少代码法对代码进行排查,一路辛苦的排查就不说了,结果表明,是因为如下其中一段代码导致错误:<script> var hostid=xxxx;</script><script type='text/javascript' src='http://client.xmonitor.cn/xmonitor.js'></script>

xmonitor.cn提供网速监测服务,目前我们公司正在使用他们的免费试用服务,从他们提供的报告来看,我觉得报告很一般。同时提供这种服务的还有中国站长站的网站保姆,监控宝(本站目前正在使用),monitorx.cn等多家网站。这几家网站以监控宝提供的免费服务最多,其它网站的免费服务都有限制。

来分析一下xmonitor.cn提供的代码:

var xmonitord=new Date();
var xmonitort=xmonitord.getFullYear()+""+xmonitord.getMonth()+""+xmonitord.getDate();
document.getElementById("test").value = '<object id="test" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1" height="1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="align" value="middle" /><param name="allowScriptAccess" value="always" /><param name="FlashVars" value="hosturl='+location.href + '&amp;hostid='+ hostid+'" /><param name="quality" value="high" /><param name="bgColor" value="#ffffff" /><param name="src" value="http://client.xmonitor.cn/newflash/newB.swf?t='+xmonitort +'" /><param name="name" value="test" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="hosturl='+location.href + '&amp;hostid='+ hostid+'" /><embed id="test" type="application/x-shockwave-flash" width="1" height="1" src="http://client.xmonitor.cn/newflash/newB.swf?t='+xmonitort +'" name="test" bgcolor="#ffffff" quality="high" flashvars="hosturl='+location.href + '&amp;hostid='+ hostid+'" allowscriptaccess="always" align="middle"></embed></object>';

这段代码的作用是输出一个Flash,最终输出的结果如下:

<object id="test" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1" height="1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="align" value="middle" /><param name="allowScriptAccess" value="always" /><param name="FlashVars" value="hosturl=http://iove.net/index.php&amp;hostid=1234" /><param name="quality" value="high" /><param name="bgColor" value="#ffffff" /><param name="src" value="http://client.xmonitor.cn/newflash/newB.swf?t=20091125" /><param name="name" value="test" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="hosturl=http://iove.net/index.php&amp;hostid=1234" /><embed id="test" type="application/x-shockwave-flash" width="1" height="1" src="http://client.xmonitor.cn/newflash/newB.swf?t=20091125" name="test" bgcolor="#ffffff" quality="high" flashvars="hosturl=http://iove.net/index.php&amp;hostid=1234" allowscriptaccess="always" align="middle"></embed></object>

由此可见,xmonitor.cn是采用flash作为网速的测试,但因为flash写得有问题,结果导致了无法向后兼容。目前已经发现在IE8 + 最新Flash的版本(版本:10.0.42.34)会出现问题,在Xp + IE 8 + Flash(版本:10.0.42.34)百分之百出问题,而在Windows 7下,则有可能会出现问题。在Firefox下面没有发现问题,

警告已经使用xmonitor.cn网站监控服务的网站,应该立即撤换掉相关代码,以避免你的网站在客户的浏览器有崩溃的现像。如果你需要使用网站监控,可以使用日志监控或者其它相关监控提供的网站。

IE崩溃的截图

IE崩溃的截图

  

注意:本文为我的独立博客镜像博客,自发表不再更新,原文可能随时被更新,敬请访问原文。同时,请大家不要在此评论,如果有什么看法,请点击这里:http://iove.net/1705/

本文来自http://iove.net,欢迎转载,转载敬请保留相关链接,否则视为侵权,原文链接:http://iove.net/1705/

posted on 2009-12-25 15:24  Conis  阅读(185)  评论(0编辑  收藏  举报