Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用IE兼容模式的缺点_C#_Asp.net Mvc_Html_Internet Explorer - Fatal编程技术网

C# 使用IE兼容模式的缺点

C# 使用IE兼容模式的缺点,c#,asp.net-mvc,html,internet-explorer,C#,Asp.net Mvc,Html,Internet Explorer,可能重复: 在我像往常一样上传到主机之前,我在IE中浏览了我的网站,但我注意到一些奇怪的东西,比如,确切地说,sam项目(部分视图中的提交按钮)显示在某个地方,而这里没有。。我知道IE中的大多数技巧,但我从未见过这样的东西,但当我在IE8设置中设置兼容模式时,一切都正常工作,我使用的是HTML5。所以我想从代码中触发它,这个声明会让IE处于兼容模式吗 <meta http-equiv=“X-UA-Compatible” content=“IE=7; IE=8” /> 如果是这

可能重复:

在我像往常一样上传到主机之前,我在IE中浏览了我的网站,但我注意到一些奇怪的东西,比如,确切地说,sam项目(部分视图中的提交按钮)显示在某个地方,而这里没有。。我知道IE中的大多数技巧,但我从未见过这样的东西,但当我在IE8设置中设置兼容模式时,一切都正常工作,我使用的是HTML5。所以我想从代码中触发它,这个声明会让IE处于兼容模式吗

<meta http-equiv=“X-UA-Compatible” content=“IE=7; IE=8” />


如果是这样,使用此命令是否有任何缺点?

这会导致高于7(或8)的版本(如IE9(或8)渲染为旧版本。缺点是你失去了新版本提供的功能,从而降低了访问者的潜在体验质量


通常,当您没有时间让现有站点在更友好的IE版本上正确呈现时,您会使用
X-UA-Compatible
meta标记。

我知道的缺点包括:

  • 您将丢失较新的IE JavaScript功能。例如,如果将其设置回低于IE8的任何值,就会丢失本机JSON,因为它是由IE8引入的。然后,为了使用JSON,您必须在页面中包含json2.js(或类似内容)

  • 它与旧的IE不完全相同。IE9与IE8兼容模式与真正的IE8不完全相同。有一些小的区别。不断改进你的页面,总有一天你会发现你在IE8兼容模式和真正的IE8中显示了不同的东西


  • 除非您只需要快速修复,并且以后不需要修改此页面,否则请尽量避免使用on兼容模式。

    @Nathan这个问题是关于javascript问题的,我想知道css问题。您确定您的内容使用了正确的css吗?Html5/CSS3将在IE7/8中呈现?这两个版本都不能比IE9更好地支持Html5。。。强制非兼容模式很有意义,但强制对HTML5内容使用IE7/8听上去显然是错误的。@Alexei Levenkov我的代码甚至可以在IE7上运行,我在CSS3中使用HTML5 shiv和css PIE也许你应该从问这个问题开始。当以后的渲染引擎可用并且应该能够按原样渲染内容时,强制使用旧的渲染引擎对我来说仍然毫无意义。也就是说,即使是IE10也必须以IE8模式呈现您的站点…我目前正在IE8上测试,meta X-UA-Compatible的描述说它将使用最高的声明模式,这就是我的IE8?还是我错了?根据你的声明,IE8及以上将被视为IE8,IE7将被视为IE7。感谢澄清,这回答了我的问题,但我想这将是一个谜,为什么我的东西在Comapability模式下呈现正确。你的网站可能呈现正确,因为IE7和IE8有呈现的怪癖,这些怪癖是在最初编程网站时考虑的。这些怪癖在IE9本机渲染中可能并不明显。我还包括了json2,以支持IE7上的SignalR,但给出了答案,我宁愿创建另一个css在IE上有条件地工作,然后使用兼容模式。用正确的方法修复它似乎真的值得费心!