maz*_*aze 73 internet-explorer quirks-mode internet-explorer-8 internet-explorer-7 x-ua-compatible
我正在编写一个在IE7标准模式和IE8标准模式下运行良好的前端.
当我启动Internet Explorer并加载页面时,IE7和IE8都直接进入Quirks模式.如何强制IE7和IE8始终在标准模式下加载页面?
到目前为止,我没有添加任何特殊的元标记.
谢谢你的协助
编辑:我的doctype和head目前看起来如下:
<!DOCTYPE html> 
<html lang="de"> 
<head> 
    <title>...</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta charset="utf-8" />
    <script src="js/html5.js"></script> 
    (...)
</head>
dav*_*rad 86
这是绝对肯定的方式:
<!doctype html> <!-- html5 -->
<html lang="en"> <!-- lang="xx" is allowed, but NO xmlns="http://www.w3.org/1999/xhtml", lang:xml="", and so on -->
<head>
<meta http-equiv="x-ua-compatible" content="IE=Edge"/> 
<!-- as the **very** first line just after head-->
..
</head>
原因:
 
每当IE遇到任何冲突时,它都会回到"IE 7标准模式",忽略了x-ua-compatible.
(我知道这是一个非常古老的问题的答案,但我自己也在努力解决这个问题,并且上述方案是正确的答案.它一直有效,每次都有效)
Alf*_*avo 33
可悲的是,他们希望我们使用标签让他们的浏览器知道该怎么做.看看这个文档,它告诉我们使用:
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
它应该做.
我知道这个问题是在2年前提出来的,但还没有人提到这个问题.
最好的方法是使用http标头
将元标记添加到头部并不总是有效,因为IE可能在读取之前确定了模式.确保IE始终使用标准模式的最佳方法是使用自定义http标头.
标题:
name: X-UA-Compatible  
value: IE=edge
例如,在.NET应用程序中,您可以将其放在web.config文件中.
<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=edge" />
      </customHeaders>
    </httpProtocol>
</system.webServer>
| 归档时间: | 
 | 
| 查看次数: | 101246 次 | 
| 最近记录: |