如果一个网页以…开头有什么区别
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
并且如果页面以
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
如果没有区别,我想我可以忽略X-UA-Compatible
元标头,因为我只想在所有IE版本中以最标准的方式呈现它。
这个答案是几年前发布的,现在的问题确实应该是 您X-UA-Compatible
_是否 _应该考虑 在您的网站上 使用 标记?
微软对其浏览器所做的更改(更多有关以下内容)。
根据您支持的Microsoft浏览器,您可能不需要继续使用该X-UA- Compatible
标记。如果您需要支持IE9或IE8,那么我建议您使用标记。如果您仅支持最新的浏览器(IE11和/或Edge),那么我将考虑完全删除此标签。如果您使用Twitter
Bootstrap并且需要消除验证警告,则此标记必须以其指定的顺序出现。以下附加信息:
该X-UA-Compatible
元标记允许网页制作者选择什么版本的Internet
Explorer的页面是否应该呈现为。IE11对这些模式进行了更改;请参阅下面的IE11注释。替代IE11的浏览器Microsoft
Edge仅X-UA- Compatible
在某些情况下使用meta标签。请参阅下面的Microsoft Edge注释。
根据Microsoft的说法,使用X-UA-Compatible
标记时,标记应在文档中尽可能高head
:
如果您使用的是X-UA兼容的META标签,则希望将其放置在尽可能靠近页面HEAD顶部的位置。Internet
Explorer开始使用最新版本解释标记。当Internet Explorer遇到X-
UA兼容的META标签时,它将使用指定版本的引擎重新开始。这是性能下降的原因,因为浏览器必须停止并重新开始分析内容。
这是您的选择:
为了尝试理解每种含义,这里是Microsoft提供的定义:
Internet Explorer支持许多文档兼容模式,这些模式可启用不同的功能并会影响内容的显示方式:
边缘模式告诉Internet Explorer以可用的最高模式显示内容。使用Internet Explorer
9,这等效于IE9模式。如果将来的Internet
Explorer版本支持更高的兼容性模式,则设置为边缘模式的页面将以该版本支持的最高模式显示。使用Internet Explorer
9查看时,这些页面仍将以IE9模式显示。InternetExplorer支持许多文档兼容模式,这些模式可启用不同的功能并可能影响内容的显示方式:
IE11模式为已建立和新兴的行业标准(包括HTML5,CSS3等)提供了最高的支持。
IE10模式为已建立和新兴的行业标准(包括HTML5,CSS3等)提供了最高的支持。
* IE9模式为已建立和新兴的行业标准提供了最高的支持,包括HTML5(工作草案),W3C级联样式表第3级规范(工作草案),可缩放矢量图形(SVG)1.0规范等。[编者注:IE 9 不 支持CSS3动画]。
* IE8模式支持许多已建立的标准,包括W3C级联样式表2.1规范和W3C选择器API。它还为W3C级联样式表3级规范(工作草案)和其他新兴标准提供了有限的支持。
IE7模式呈现的内容就像Internet Explorer 7在标准模式下显示的一样,无论页面是否包含指令。
模拟IE9模式告诉Internet
Explorer使用指令来确定如何呈现内容。标准模式指令以IE9模式显示,而怪癖模式指令以IE5模式显示。与IE9模式不同,仿真IE9模式遵循该指令。
模拟IE8模式告诉Internet
Explorer使用指令来确定如何呈现内容。标准模式指令以IE8模式显示,而怪癖模式指令以IE5模式显示。与IE8模式不同,仿真IE8模式遵循该指令。
模拟IE7模式告诉Internet Explorer使用指令来确定如何呈现内容。标准模式指令以Internet Explorer
7标准模式显示,而怪癖模式指令以IE5模式显示。与IE7模式不同,仿真IE7模式遵循该指令。对于许多网站,这是首选的兼容模式。
IE5模式呈现的内容就像Internet Explorer 7以怪癖模式显示的内容一样,与Microsoft Internet Explorer
5中内容的显示方式非常相似。
IE10注:
从IE10开始,怪异模式的行为与早期版本的浏览器不同。在IE9和更早版本中,怪癖模式将网页限制为IE5.5支持的功能。在IE10中,怪癖模式符合HTML5规范中指定的差异。
就个人而言,我总是选择http-equiv="X-UA-Compatible" content="IE=edge"
meta标记,因为较旧的版本存在很多错误,并且我不希望IE决定进入“兼容模式”并将我的网站显示为IE7 vs
IE8或9。我总是更喜欢最新版本的IE浏览器
IE11
从IE11开始,边缘模式是首选的文档模式。它代表了对浏览器可用的现代标准的最高支持。
使用HTML5文档类型声明来启用边缘模式:
<!doctype html>
Edge模式是Internet Explorer8中引入的,并且在每个后续发行版中都可用。请注意,边缘模式支持的功能仅限于呈现内容的浏览器特定版本支持的功能。
从IE11开始,不建议使用文档模式,除非临时使用,否则不应再使用。确保更新依赖于旧功能和文档模式以反映现代标准的网站。
如果必须针对一种特定的文档模式,以便您的站点在重新支持现代标准和功能时可以正常运行,请注意,您正在使用的是过渡功能,该功能可能在将来的版本中不可用。
如果当前使用兼容x-ua的标头将旧文档模式作为目标,则您的网站可能无法反映IE11的最佳使用体验。
X-UA-Compatible
IE的“Edge”版本的元标记信息。
引入“活着的”边缘文档模式
正如我们在2013年8月宣布的那样,我们将从IE11开始弃用文档模式。通过我们最新的平台更新,对旧文档模式的需求主要限于企业旧版Web应用程序。随着新的体系结构更改,这些旧文档模式将与“活动”Edge模式的更改隔离开来,这将有助于确保依赖那些模式的客户具有更高的兼容性,并帮助我们更快地改进Edge。IE仍将支持Intranet网站,“兼容性视图”列表上的网站以及仅与企业模式一起使用的网站提供的文档模式。
公共Internet站点将使用新的Edge模式平台呈现(忽略X-UA-Compatible)。我们的目标是,Edge从现在开始就是“活动”文档模式,以后将不再介绍其他文档模式。
大多数情况下,由于MicrosoftEdge的更改不再支持文档模式,因此Microsoft提供了一种工具来扫描您的站点以检查其是否具有与Edge不兼容的代码。
Chrome = 1 IE的信息
还有chrome=1
,你可以使用或与像上述选项一起使用:<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
。chrome=1
适用于Google的Chrome浏览器内嵌框架,定义为:
Google Chrome浏览器内嵌框架是一个开源浏览器插件。安装了该插件的用户在浏览器中打开页面时,可以访问Google
Chrome的开放式网络技术和快速的JavaScript引擎。
Google Chrome浏览器内嵌框架无缝增强了您在InternetExplorer中的浏览体验。它使用GoogleChrome的渲染技术显示启用了Google Chrome Frame的网站,使您可以访问最新的HTML5功能以及GoogleChrome的性能和安全性功能,而不会以任何方式中断您正常的浏览器使用。
安装了Google Chrome浏览器内嵌框架后,您无需考虑网络情况就会变得更好。
但是,要使该插件正常工作,您必须chrome=1
在X-UA-Compatible
meta标记中使用。
注意: GoogleChrome浏览器内嵌框架仅适用于IE6到IE9,并且已于2014年2月25日停用。
HTML5 :
仅当使用时,页面才会使用W3验证程序进行验证<meta http-equiv="X-UA-Compatible" content="IE=Edge">
。对于其他值,它将引发错误:A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attributewiththevalueIE=edge.
换句话说,如果您IE=edge,chrome=1
将无法验证。我完全忽略了此错误,因为现代浏览器只是忽略了这一行代码。
XHTML
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
只要正确关闭标签(即/>
vs>
),使用时的验证就不会有问题。
Twitter的引导
这个标签已经被强烈地引导团队至少自2014推荐,并Bootlint的棉短绒撰写的团队继续扔了拼焊板警告省略标记时。短绒棉纸区分警告和错误,因此忽略此标签的严重性可能被认为是次要的。
Java中Object有一个方法: public native int hashcode(); (1)hashcode()方法的作用 hashcode()方法主要配合基于散列的集合一起使用,比如HashSet、HashMap、HashTable。 当集合需要添加新的对象时,先调用这个对象的hashcode()方法,得到对应的hashcode值,实际上hashmap中会有一个table保存已经存进去
问题内容: 我是Java的新手,刚刚遇到了在方法中使用“ Throws”关键字的教程。我对此进行了一些研究,但仍然不太了解。 从我到目前为止所看到的,它告诉编译器在该特定方法中可能抛出某些异常。为什么我们需要告诉编译器呢?我已经在我的方法中仅使用try- catch语句制作了许多程序,并且效果很好-当然,这些try-catch语句可以管理异常,对吗? 问题答案: 您可以使用和如您所说 在 方法 内
问题内容: 我在一些Spring webflux代码中遇到了Mono.defer() 我在文档中查找了该方法,但不理解其中的解释: “创建一个Mono提供程序,该提供程序将提供目标Mono供每个下游的订阅者订阅” 请给我一个解释和一个例子。我可能会参考一堆Reactor示例代码(它们的单元测试?)的地方。 谢谢 问题答案: 这有点过分简化,但是从概念上讲,Reactor的来源要么是懒惰的,要么是渴
问题内容: 我正在关注Stephen Grinder的教程,在那里他开始使用Promisify。 为此,他给出了非常模糊的解释,说redis需要回调函数,并且他发现非常不整洁+ redis不支持NodeJS中的promises。 然后他做了这样的事情 出于某种原因,我发现该解释含糊不清,有人可以以最人性化的方式进行解释吗?像他的意思和我们在做什么? 问题答案: 当您要将回调函数转换为基于promi
问题内容: 具体来说,为什么对解决PermGen OutOfMemoryError问题有帮助? 另外,为我提供有关JVM参数文档的答案,还有加分。 问题答案: 永久空间是VM使用的类,方法,内部化的字符串以及类似对象的存储位置,并且从不释放(因此命名)。 这篇Oracle文章简洁地介绍了HotSpot GC的工作原理和参数化,并建议您在加载许多类时增加此空间(对于应用程序服务器和诸如Eclipse
问题内容: 你能解释一下调用时会发生什么吗? 问题答案: 设置目标线程的中断状态/标志。然后在该目标线程中运行的代码可以轮询中断状态并适当地处理它。一些诸如之类的方法可能会立即消耗中断状态并抛出适当的异常(通常为) Java中的中断不是抢先的。换句话说,两个线程必须配合才能正确处理中断。如果目标线程未轮询中断状态,则该中断将被有效忽略。 通过返回当前线程的中断状态并清除该中断标志的方法进行轮询。通