出于某种原因,我的网站在Firefox,Opera,Safari和IE8中正常工作时,会在这些浏览器中显示“无法显示此消息”错误。
看起来像这样:http://www.reviewsaurus.com/images/pagedisplay.png
此文档已成功检查为XHTML 1.0 Transitional!
答案 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。