IE6中的空白页面

时间:2008-11-06 12:36:23

标签: php internet-explorer http internet-explorer-6 http-headers

我正在使用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显示空白页? 如果是这样,是什么原因导致它解决了什么?

6 个答案:

答案 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" />

我现在没有问题。