如果一个网页开头有什么区别
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)
如果页面以.开头
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Run Code Online (Sandbox Code Playgroud)
如果没有区别,我想我可以忽略X-UA-Compatible元头,因为我只想在所有IE版本中以大多数标准模式呈现它.
我一直在Intranet网站超过6个月时我一直在使用下面的HTML5 doctype和边缘兼容性meta标签,迫使IE浏览器不效仿旧的浏览器版本,这已工作确定.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My title</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我这样做的原因是因为我工作的地方使用策略设置来启用所有Intranet站点的兼容性视图,并且使用该EDGE设置的这种方法在Internet Explorer 9中有效.

一个多月前,我升级到Internet Explorer 11,该网站仍按预期工作.
如今,这个停止工作不如预期,我不能肯定地说,但我认为,这迫使兼容性视图策略中的IE11中未启用,现在是...,因为这已经开启兼容性meta标签不再做了预期的事情,这个站点正在模拟IE8的企业模式下运行.
有没有人知道如何解决这个问题并在强制执行兼容性"企业模式"时强制IE11在Intranet站点上使用?并且无法通过浏览器设置禁用?
编辑
我刚刚尝试在我的web.config中添加自定义标头,如本答案中所述 /sf/answers/1278004591/
这对我不起作用我仍然在开发人员工具栏控制台中收到以下消息
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
Run Code Online (Sandbox Code Playgroud)
就好像版本8被视为edge在IE11中启用此Intranet兼容性设置时.
这篇文章:https://www.leapinggorilla.com/Blog/Read/1016/ie-ate-my-css---disabling-compatability-mode 解释得很好,我还没有尝试通过代码设置此标头我们的用户无权更改其浏览器设置..其他任何更改都没有.
UPDATE
请参阅我对此帖子的评论,了解企业模式和兼容模式之间的区别,因为它很重要.
html html5 compatibility internet-explorer internet-explorer-11
IE8中有"Internet Explorer 8","Internet Explorer 8兼容模式"和IE7模式.
但是,IE中的默认设置使所有Intranet网站都使用"IE8兼容模式",即使我已经设置了doctype,meta标签,http标头也建议强制进入IE8模式.
我有
<!DOCTYPE HTML PUBLIC" - // W3C // DTD HTML 4.01 Transitional // EN"" http://www.w3.org/TR/html4/loose.dtd ">
和
<meta http-equiv ="X-UA-Compatible"content ="IE = 8">
但它仍然进入"IE8兼容模式",IE设置没有任何变化.
如何强制它进入纯粹的"IE8"模式,而不更改任何浏览器的设置?
PS.我不是在说"文件模式".
html internet-explorer-8 ie8-compatibility-mode ie8-browser-mode x-ua-compatible
我想<!-- this -->在DOCTYPE声明之前的HTML代码的最顶部放置注释(样式).这符合标准吗?它是否受到主流浏览器的支持?这样做有什么陷阱吗?
这已经得到了被真正愚蠢的.但一遍又一遍地读同一个非常简单的答案在各种博客和微软网站之后,该AFAICT我这样做是正确的,我还是难倒了,所以我在这里问:
当在本地网络上查看时,为什么此测试页中的IE条件呈现IE中页面<![endif]-->底部的文字?我很确定这是IE'Downlevel-hidden条件评论'的正确语法.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>IEconditionalSyntax_wtf.html</title>
</head>
<body>
well?<br>
<!--[if IE]>
wtf?!
<![endif]-->
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
更新:
节省阅读所有评论的时间...如果你遇到同样的问题:下面的大多数评论基本上只是提出可能的(但不确定的,无效的)解释,并且有几个人报告说他们无法重现这个问题.到目前为止,似乎没有人知道答案.我只在IE9/Win7(有任何浏览器/文档模式)上查看页面时看到问题...在我的本地服务器上(本地iMac 10.6.8提供的页面,内置于web服务器中).
但是,仅仅因为没有人能够摆脱我的本地服务器这个问题并不一定意味着以下建议不会为您解决问题.在我们知道答案之前,我认为假设任何事都没有用.所以你可能想尝试下面列出的所有内容,如果你也在<![endif]-->IE页面上出现,似乎没有充分的理由.
Patrick提供了一个很好的解决方法,但它确实依赖于jquery.
我辩论是否奖励赏金(我开始,并于2012年4月16日到期),或接受答案,以便确认到期时它被授予......并且我没有明确的行动..所以我刚决定让系统自动奖励帕特里克的一半奖金,以获得伟大的(虽然是jquery)解决方案.我不想给予全部赏金,因为赏金的全部意义在于满足了我对于为什么我首先看到条件评论的好奇心.我也不想接受任何答案(到目前为止),因为在这种情况下我不会使用任何解决方法,因为问题只出现在我的本地网络上,因此与世界上的生产代码无关.
我是一名Mac用户,网页设计师,试图了解IE 11中"以兼容模式显示Intranet网站"选项
我有一个客户端,一个架构公司,曾经在他们的Windows服务器上内部托管他们的OLD网站(我没有开发的HTML网站).我最近为他们推出的Wordpress网站是在内部的Ubuntu服务器上托管的.
问题是我们上班后几个月,当我在IE浏览器中查看他们的投资组合页面显示垂直与水平堆叠的缩略图时.当他们以兼容模式关闭显示内部网站点时,缩略图显示正确.大多数人都没有使用IE浏览器,因此现在就注意到它并不奇怪.
以下是投资组合页面的示例
在我们推出新网站后不久,他们将工作站升级到Windows 8.1和IE 11.
我是Mac用户,但我无法使用BrowserStack重新设置IE/Win配置的问题,也没有任何我知道有IE/Win版本的人能够重新创建它.
如果我在Bluehost托管的测试站点上重新创建投资组合页面 - 客户端会在兼容模式下正确查看投资组合页面.
所以我的问题是这个环境中的内部网站究竟是什么?这个网站不是一个只有内部网站的公共网站 - 内网网站引用除此之外的其他网站吗?我相信他们可以通过内联网看到内部信息,但这不是公开的,但这就是设置开启的原因?为什么必须以兼容模式显示?
为什么他们需要打开这种兼容性呢?
我正在开发的网站被添加到IE浏览器中的本地Intranet站点列表中.

然后在兼容性视图设置中,选中"在兼容性视图中显示Intranet站点"复选框.

问题,我正在开发的网站在IE浏览器中显示为兼容性视图(非常明显的原因).
我需要做的是找到一种不在兼容性视图中显示网站的方法.
到目前为止我尝试添加以下标题但无济于事.
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Run Code Online (Sandbox Code Playgroud)
和
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>Run Code Online (Sandbox Code Playgroud)
删除所述IE浏览器设置不是一个选项,因为全世界有300,000台计算机需要修改(幸运的是我).
问题,有没有办法可以覆盖这些设置,以便我的网站不会以兼容模式呈现?
我知道这个问题的许多变化都在这里被问到,但到目前为止还没有我尝试过的解决方案.
我希望我的网络应用程序在IE中以IE9文档模式打开.当我现在打开页面时,它总是在"Internet Explorer7标准"中打开,而"Internet Explorer9标准"被列为页面默认值.我尝试过tagss的几种变体,包括
<meta http-equiv="X-UA-Compatible" value="IE=Edge">
Run Code Online (Sandbox Code Playgroud)
和
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
Run Code Online (Sandbox Code Playgroud)
(都在头标记之后)
我也尝试过条件语句,例如来自SO的这个例子:
<!--[if IE 7 ]> <body class="ie7> <![endif]-->
<!--[if IE 8 ]> <body class="ie8> <![endif]-->
<!--[if gt IE 8]><!--><body><!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
目前我正在使用: <!DOCTYPE html>
当然我可以在F12中手动切换模式,但我想在IE9文档模式下直接打开站点(兼容模式始终默认为IE9兼容模式).
目前我正在研究内部网开发服务器; 我读过这可能是一个因素?但我真的更喜欢任何解决方案都是客户端,我可以添加到JS/HTML .....
javascript meta-tags ie-developer-tools ie8-browser-mode internet-explorer-9
客户的网站上有产品清单.通过页面底部的iFrame动态提取产品价格.页面上有Javascript,根据iFrame内容的加载大小,自动将此iFrame调整到正确的高度.
客户端报告说,在打印页面时,他们无法从iFrame中看到价格应该是什么 - 显然它不是在IE中打印,只是主页本身.
我在Mac上,所以无法在IE中测试,所以我很难尝试这个.
谁能澄清这种情况下的预期行为?是否有可能让IE打印两个页面并默认包含iFrames,如果是这样,我将如何进行此操作?我只能找到从父窗口打印特定帧的示例.
谢谢!
我正在开发一个可以作为Intranet站点托管的Web产品.我试图找到一种程序化的方法来防止IE9滑入IE9兼容性视图浏览器模式,即使"在兼容性视图中显示Intranet站点"可能已启用.
我正在测试这个html页面:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<title>Company</title>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我把它放在IIS配置中:
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
按照此处的建议:https://stackoverflow.com/a/5887546,并检查IE9中的响应标头,并查看:
X-UA-Compatible IE=Edge
Run Code Online (Sandbox Code Playgroud)
但该页面仍然将浏览器置于兼容性视图浏览器模式.
控制台显示:
HTML1202: http://intranet-site/test.html is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked.
test.html
Run Code Online (Sandbox Code Playgroud)
这里有一个类似的问题:https://stackoverflow.com/a/3726605/1279516,其中Jacob对所选答案的评论表明,在IE9中,你无法覆盖"在兼容性视图中显示Intranet网站" ' 设置.但是,他的评论是我发现的唯一提到这一点的地方.任何人都可以确认或否认这种说法吗?
还有什么我可以尝试的吗?我不应该告诉所有部署我们产品的客户取消选中所有用户的"在兼容性视图中显示Intranet网站"浏览器设置.