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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
原因:
每当IE遇到任何冲突时,它都会回到"IE 7标准模式",忽略了x-ua-compatible
.
(我知道这是一个非常古老的问题的答案,但我自己也在努力解决这个问题,并且上述方案是正确的答案.它一直有效,每次都有效)
Alf*_*avo 33
可悲的是,他们希望我们使用标签让他们的浏览器知道该怎么做.看看这个文档,它告诉我们使用:
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
Run Code Online (Sandbox Code Playgroud)
它应该做.
我知道这个问题是在2年前提出来的,但还没有人提到这个问题.
最好的方法是使用http标头
将元标记添加到头部并不总是有效,因为IE可能在读取之前确定了模式.确保IE始终使用标准模式的最佳方法是使用自定义http标头.
标题:
name: X-UA-Compatible
value: IE=edge
Run Code Online (Sandbox Code Playgroud)
例如,在.NET应用程序中,您可以将其放在web.config文件中.
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
101246 次 |
最近记录: |