2016-04-22 44 views
0

我看到两个流行的选项来强制IE在特定的模式下打开一个HTML:针对特定IE模式仿真的Apache与Meta标签?

1)<meta http-equiv="X-UA-Compatible" content="IE=edge" />

2)指定其作为httpd.conf

页眉哪些优点任这些选项?有没有推荐的方法来做到这一点?

我看到的大多数应用程序都使用Apache作为负载平衡器,它通常会处理对www.url.com的请求,并将其发送到其中一个可能的应用程序服务器。无论如何,直接访问IP不会得到仿真的好处,因为没有设置Headers。元标签解决问题比Apache更接近?那么,设置特定仿真的更好方式还是Apache方法还有其他好处吗?

回答

1

说实话。

不再支持X-UA兼容(截至IE11及以上版本)和Microsoft recommends not using it and instead using the HTML5 doc type

说这个,要回答你的问题(如果对这样的其他头文件感兴趣),这取决于。两者都有好处。设置HTTP头

  • 好处是可以在服务器级别上设置一次,不需要记住,包括每一页上。

  • 如果您无法控制所有页面(例如,许多开发人员/贡献者将内容上传到网站),该功能很有用。
  • HTTP标头通常优先(尽管不适用于X-UA兼容)。在页面级别设置的

优点:

  • 不需要访问服务器(例如,如果页的服务器上托管的地方,你不能访问服务器配置,或通过CDN服务)。
  • 当我们通过CDN或其他缓存解决方案提供服务时,将被复制。
  • 可以由页面作者设置(例如,如果页面需要特定的标题并且作者知道这一点)。
  • 如果每个页面需要不同的设置,而不是在Apache中加载所有的配置,那么通常会更容易覆盖每个页面。
+0

大多数我们使用SPA,所以我觉得'meta'是更好的选择。但是将签出'doctype' – Nishant

+0

X-UA兼容在IE11中已弃用,但仍支持。 – libertyernie

1

当单个页面包含服务器提供的x-ua兼容标头时,it overrides headers。有时候这是有用的(对于没有DOCTYPE指令的传统网站而言)以及不适用的时候。通常情况下,你知道你正在试图解决的问题是哪种情况。

对于大多数情况,推荐的做法是对use an HTML5 doctype<!DOCTYPE html>),并且只对依赖遗留标记的遗留站点使用x-ua兼容。理想情况下,这将是一个temporary solution,直到新版本的网站开发出来才使用,以便它不再依赖于传统行为。