MVC App导致IE9使用旧标准

use*_*905 10 asp.net-mvc internet-explorer-9

当我测试我在另一台机器上创建的新的asp.net MVC应用程序时,布局不正确,在IE9中看起来很奇怪.在查看开发人员工具时,模式/标准设置为旧版本甚至兼容模式.我把它改回了IE9,又恢复了.

但是当我重新打开网站时它又重新设置了这些值,是否有一些默认值可以保持覆盖,或者是因为某些原因我的应用程序导致这些值更改为旧版本?

Rad*_*ler 20

有一些机制,IE浏览器家族用它来猜测哪种渲染模式最好.关于这个主题有更多的阅读:

X-UA-Compatible设置为IE = edge,但它仍然不会停止兼容模式

所以有一种方法可以说,你所针对的IE版本.将此html标记作为第一个(实际上是第一个)<head>后面的元素<title>

<!DOCTYPE html>
<html>
  <head>
    <title>My Web</title>
    <meta http-equiv="X-UA-Compatible" content="IE=100" >
    ...
Run Code Online (Sandbox Code Playgroud)

内容应该是contain="IE=8"如果您的目标是IE 8.0,IE = 100将适用于IE 9.0 ++.

我已经读过这种行为在内联网上不起作用,但我的经验是不同的.关键是该<meta>元素必须是第一个!第一种方式,之前没有评论.没有什么只是冠军后的第一个.

例如,我在代码中对服务器端进行一些调查以检查它是什么版本,并将与浏览器相关的元数据作为第一个元素


Ste*_*ese 8

另外,在测试时可以将兼容性覆盖保存到本地浏览器.

来自(http://answers.microsoft.com/en-us/ie/forum/ie9-windows_7/ie9-always-rendering-pages-in-ie7-compatibility/c0177b44-3950-e011-8dfc-68b599b31bf5):

第1步:让我们关闭兼容性视图并检查.

一个.打开Internet Explorer.

湾 单击键盘上的Alt键.现在单击菜单栏中的"工具".

C.选择兼容性视图设置.

d.删除兼容性视图中显示所有网站的复选标记,然后关闭兼容性视图设置窗口.

第2步:重置Internet Explorer设置并检查.

请参阅:http://support.microsoft.com/kb/923737(本文也可用于Internet Explorer 9)