我正在使用PHP构建的网站有时会显示一个完全空白的页面。 客户端或服务器上没有错误消息。 有时可能会显示相同的页面而不会显示其他页 所有页面在IE7,Firefox 3,Safari和Opera中都运行良好。 所有页面都是带有此元元素的XHTML:
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
出现我已经通过添加此PHP代码解决了问题:
header('Content-type: text/html; charset=utf-8');
我已经读过这个问题可能是由XHTML,编码,gzip压缩或缓存引起的,但是没有人能够备份这些猜测。
由于问题是间歇性的,我不相信我的解决方案实际上已经解决了问题。
我的问题是,当其他浏览器显示内容时,是否有可重现的方式让IE6显示空白页? 如果是这样,是什么原因导致它解决了什么?
答案 0 :(得分:3)
这是来自IE的内容类型问题。 它不知道如何处理application / xhtml + xml。
虽然你写的是xhtml + xml,但IE只知道text + html。 在所有代理商都知道xhtml + xml
之前,它将是未来将内容类型的元标记更改为content =“text / html;
答案 1 :(得分:1)
听起来像IE中的bug #153 "Self Closing Script Tag"错误,众所周知会导致空白页。
由于IE的错误,您可以从不编写以下代码并期望它在IE中运行。
<script src="...." />
(如果标签是自动关闭的,那么你将陷入痛苦的世界)
相反,始终代码为;
<script src="...."></script>
答案 2 :(得分:1)
我遇到了类似语言的类似问题 - 只有具有多字节字符的页面未在IE6和IE7中显示。事实证明,在这两个浏览器中,Content-Type元标记和标题标记的顺序是一个大问题。因此,在元标记之后放置标记(包含日文字符)可以解决问题。
答案 3 :(得分:0)
不确定这是否与您的体验完全匹配。这取决于正在使用的IE(包括服务包)的特定版本。
IE6 SP2的一个已知渲染问题&amp; IE7(都使用相同的渲染引擎)是HTML中孤立标签的存在。这可能是孤立的div或脚本标记。
<script language="javascript"> // no closing tag
alert('hello world');
<body>
hello world
</body>
以上在IE6 SP1和Firefox中渲染得很好,但是你只会看到IE6 SP2和Linux中的空白页面。 IE7。
某些其他标记必须具有单独的结束标记。检查所有<div>
和<script>
标记是否包含结尾</script>
或<div>
标记,而不仅仅是开始标记末尾的结束斜杠。另一个是<textarea>
。你必须有两个标签。
如果您可以查看空白页面的来源并获取源HTML,即使您的页面为空白,也可以测试您的网站是否发生这种情况。
答案 4 :(得分:0)
您应该将具有Content-Type标头的页面作为text / html提供给IE用户。您不需要更改元标记,只需将其保留为application / xhtml + xml(IE将忽略它)。
答案 5 :(得分:0)
由于输入错误,我收到了这个错误。
我写了元标记:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
感谢你,我更正了:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
我现在没有问题。