很长的故事,但我的网站有问题,我的网站中的任何页面/链接导航之间都会出现空白页面。仅发生在Firefox中,并且仅在较新版本的Firefox中发生(例如,未在3.6.x版本中显示)。
在比较来自两个不同服务器的响应头之后,从另一台服务器提供的站点没有出现这个问题 - 我注意到它的响应头有这个:
Content-Type text/html; charset=UTF-8
我遇到问题的普通服务器在其响应标头中有这个:
Content-type text/html
所以,我把这行添加到我的.htaccess中,问题就消失了:
AddDefaultCharset UTF-8
我的问题:
Content-Type没有指定可能导致Firefox在我的网站页面之间闪烁(如10毫秒)总空白屏幕的内容类型是什么?
现在我解决了问题,我的修复是“确定”吗?它是安全的,还是有很高的破坏别的可能性?
我的快速测试没有显示问题,但不知道它可能导致什么副作用,或者它解决我的页面闪烁问题的原因,困扰我。
答案 0 :(得分:3)
我假设您的网站主要提供英文内容,并且因为utf-8与大多数英文字符编码兼容,我会说这种方法相当安全。如果没有,您需要根据这些内容进行更改。
顺便说一下,大多数HTTP服务器还有一个全局默认字符集配置,理论上它比.htaccess设置更有效。在大多数由PHP,Java编写的Web应用程序中,无论使用何种语言,应用程序本身都应该最好地清楚地说明它正在使用哪种编码。
对于firefox闪存部分,在我过去的浏览器开发经验中,如果响应头中没有说明,浏览器需要自动检测您的编码。因此,如果初始假设编码与检测到的编码不同,则浏览器需要强制页面重排。只是粗略猜测,出于实际原因,我认为firefox邮件列表应该是一个更好的去处。