在IE8中,将文档正确呈现为IE7,应该在<head>标签中的哪里放置<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />?

4

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />应该放在<head>中以在IE8中正确呈现文档作为IE7。


选择不多。当然,这取决于您在<head>中还有什么其他内容。 - pavium
这是一个有效的问题,放置位置可能对此很重要。 - Pekka
3个回答

2
由于这个元标记会改变文档的呈现方式,可能会导致视觉上的变化,因此我建议应用与content-type头相同的规则,即尽早放在<head>。根据W3C的编码规范

只有当字符编码被组织成ASCII值字节代表ASCII字符时才能使用META声明(至少在解析META元素之前)。META声明应尽早出现在HEAD元素中。


内容类型决定了网站中的字符如何呈现。如果服务器没有发送内容类型头,则浏览器必须依赖于<meta>标签。因此,它可能需要在已经渲染页面的情况下切换编码到元标记指定的值。如果元标记是在后期构建的,则编码切换可能会变得对用户可见。 - Pekka
我怎样才能知道我的服务器是否有Content-Type头?如果我的服务器已经发送了,那么我就不应该再使用<mtea>吗? - Jitendra Vyas
检查您的服务器发送的标头,例如使用Firebug或Web开发人员工具栏。 - Pekka
服务器头可以,但是元标签也无妨(只要与头部内容完全相同)。 - Pekka
但是把它放在<head>标签里是否有任何好处呢?我不确定,但我认为如果文档中没有<meta http-equiv ="Content-Type" content ="text/html; charset = UTF-8"/> ,W3C验证会报错。 - Jitendra Vyas
显示剩余3条评论

1
在文档的标签中,其他标签之后,在标签之后。

0

<head> 元素内的任何位置。

如果您选择,也可以直接将其作为 HTTP 标头发送。对于完整的网站,仅配置服务器以发送此附加标头可能比触及每个文件更有意义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接