最近碰到个奇怪的现象,有人反应网站 http://www.shupaite.com/ 首页打不开,但我试了一下却又打开没问题,于是我叫对方换台电脑换个浏览器试试,对方告诉我还是一样打不开,对方使用过IE浏览器及360浏览器。
而恰恰碰巧的是,我平时这两款浏览器都不用,我用的最多的是谷歌浏览器、搜狗浏览器及傲游浏览器。我用这三款浏览器打开该网站都没问题。
于是我也用IE8打开该网站,发现果然神奇,不过不是打不开,而是显示空白。查看网页的源代码,发现其实网页内容都已经加载,只是没有显示出来。看来,问题是出在网页的兼容性上了。可问题出在哪里呢?
于是我把网站首页的源代码复制到记事本中,保存为index.html,然后再用IE打开这个index.html,发现的确仍是显示空白,于是我逐个删除其中的源代码用排除法找出问题出在哪里。
结果发现问题就出在这段代码
=============================================
<div class="topnav">
<span id="commonHeaderGuest"><a href="/user/Login.aspx" >登录</a>/<a href="/user/Register.aspx" >注册</a></span><span id="commonHeaderUser" style="display: none;">欢迎:[<a href="/user"><b
id="commonHeaderUsername"></b></a>]<a href="/user/login.aspx?action=logout" ">退出</a>
</span>|<a href="/help/message.aspx" >在线留言</a>|<a
href="/Helps/Qustion.html" >常见问题</a>|<a href="/Helps/ContactsUs.html" >联系我们</a></div>
<div class="logo">
<a href="/">
<img src="/UploadFiles/Others/20110621202648_22471.gif" /></a></div>
========================================
把这段代码删除就可以正常显示了
可是这是为什么呢?
于是我把可以正常显示的内页源代码拿来比对,发现上面这段代码和内页的完全一致,只是,上面的这段代码action=logout" "中多出个引号("),于是我就把index.html中多出的"删除,然后保存文件再打开,发现可疑正常显示了。
原来真想大白,就是因为首页源代码中多出个“号,结果造成首页在IE浏览器中显示空白。
这里,我想问的是,难道真是因为多出个”号就会导致网页显示空白?还是IE浏览器自身的缺陷?
对于你说的情况,我用ie测试了,ie7和ie8及ie9都能正常显示,还有ie容错性应该是最好的,测试是否兼容还是以ie、chrome、firefox为主,国内这些浏览器基本都是webkit和trident引擎
原网站我已经改了。
如果你要测试,你可以把网站首页的代码复制出来,把其中的<a href="/user/login.aspx?action=logout">退出</a>
改成<a href="/user/login.aspx?action=logout" ">退出</a>
然后再保存为一个HTML文件,用IE打开试试。
你测试没问题,估计和缓存有关,要先清理一下缓存,我用IE8测试就是会出现问题,其他IE我不清楚。
@半杯酒: 我测试的就是 就是logout后双引号,看到楼下说的,chrome比较智能,在这一块ie还是够给力的,以前chrome的兼容性是靠向ie的!
跟引号没关系 360、IE有时候会出现这种问题
IE对html的标签要求比较严格,多了引号,可能破坏了文档的结构,导致IE不认识。这方面Chrome和FF就比较智能了,能够自动纠正一部分错误。