为什么我的网站不能在IE6或IE7中运行?

时间:2009-03-31 19:09:03

标签: internet-explorer-6 internet-explorer-7

出于某种原因,我的网站在Firefox,Opera,Safari和IE8中正常工作时,会在这些浏览器中显示“无法显示此消息”错误。

看起来像这样:http://www.reviewsaurus.com/images/pagedisplay.png

此文档已成功检查为XHTML 1.0 Transitional!

4 个答案:

答案 0 :(得分:3)

它与HTML错误没有任何关系。最糟糕的是显示乱码或空白页。

WordPress和gzip Content-Encoding存在某种服务器配置错误。

您的网站在IE中不起作用,但/index.php加载得很好。检查原始HTTP响应(使用Fiddler2),两个响应之间的区别在于,在/的请求中,WordPress(可能)将以下文本添加到gzip压缩的HTTP响应主体:

<!-- Page not cached by WP Super Cache. No closing HTML tag. Check your theme. -->

由于对gzip压缩内容的添加,它不再是一个正确的gzip流,IE6 / 7也无法解压缩。

其他浏览器可能有更好的错误处理,因此他们可以很好地处理错误。

我不知道你如何解决这个问题,而是Google search for that piece of text turns up a few hits on wordpress.org at least

答案 1 :(得分:1)

这是not valid XHTML。如果IE6 / 7实际上将其解释为XML,这将导致它停止解析。你能给出截图来说明失败的样子吗?

更新:现在它是XHTML Transitional,它正在验证,我没有建议,直到我到达某个地方我可以运行IE。

更新2:刚刚对网站运行IE7,页面加载正常。

答案 2 :(得分:0)

此文档已成功检查为XHTML 1.0 Transitional!

它仍然无法正常工作......

发现问题:

使用以下程序删除不必要的字符,但似乎错了。

<?php   
function callback($buffer) 
{ 
    $holdit=$buffer;
    $holdit=str_replace("   ", " ", $holdit); // tab
    $holdit=str_replace("  ", " ", $holdit); // double space
    $holdit=str_replace("\n", " ", $holdit); // new line
    $holdit=str_replace("\r", " ", $holdit); // new line
    $holdit = eregi_replace("<!--[^>]*-->"," ",$holdit); // comment
    return $holdit; 
}
ob_start("ob_gzhandler"); 
ob_start("callback");
?>

似乎我也不需要这个功能,没有它它会更快。
(我应该选择单个eregi_replace)

答案 3 :(得分:0)

对我来说,它在IE7中显示得很好,虽然很慢。我仍然建议修复这两个错误并验证为Strict,但我认为它们不是导致问题的原因。 IE6和IE7将它们解释为text / html。