有时候发现页面中写了<meta http-equiv="X-UA-Compatible" content="IE=8" />,但是文档模式依旧没改变;

原因:

1、DOCTYPE声明

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

(<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">这种声明发现不好使,估计版本过低了)

2、为防止失效,X-UA-Compatible最好紧跟在head之后,之前不要有任何不标准的标签。

(X-UA-compatible 标头不区分大小写;不过,它必须显示在网页中除 title 元素和其他 meta 元素以外的所有其他元素之前的标中)

保险起见最好是这种开头:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html> 
  <head>  
    <meta http-equiv="X-UA-Compatible" content="IE=8" />

3、最近试验,发现更有效的方法,直接将X-UA-Compatible申明在文件最开始部分(1、2都可以忽略了 O(∩_∩)O)

  <meta http-equiv="X-UA-Compatible" content="IE=8" />
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html> 
    <head>

其他方案:

https://msdn.microsoft.com/library/cc817573.aspx

在 Apache 上实现 META 切换

注意 :本文档是预备文档,随时可能变更。

Windows Internet Explorer 8 引入了文本兼容性模式,该模式允许 Web 开发人员将浏览器设置为以与旧版本相同的方式呈现它们的页面。可以根据不同的页面或不同的站点指定兼容性模式。

本文档介绍了如何通过在 Apache 中使用自定义标头,对每个站点实现 Windows Internet Explorer 8 支持的一种很常见的文本兼容性模式 — EmulateIE7。

有关 Windows Internet Explorer 8 支持的不同兼容性模式以及如何根据不同页面实现兼容性模式的详细信息,请参阅未来兼容性中的 META 标记和锁定

指定自定义 HTTP 响应标头

使用 Apache Web 服务器为站点定义自定义标头即可为您的网站指定文本模式。以下自定义 HTTP 标头可强制 Windows Internet Explorer 8 以类似 Windows Internet Explorer 7 呈现网页的方式呈现网页。

X-UA-Compatible:IE=EmulateIE7:

Apache 2.2

若要使用 Apache 2.2 为您的站点指定 HTTP 响应标头,您可使用 mod_headers 模块提供的 Header 指令。Header 指令几乎可出现在各种配置文件的任意位置,但主配置文件是 httpd.conf。可通过在配置部分将它们括起来以限制其范围,如<Location><Directory><Files> 和 <VirtualHost>

在 httpd.conf 中添加该指令后,由您的服务器发送的属于该范围内的所有页面都将包含 X-UA-Compatible HTTP 响应标头。这将强制 Windows Internet Explorer 8 使用 EmulateIE7 模式来呈现您的页面。

首先,需要确保服务器初始化期间加载了 headers_module。在 httpd.conf 文件中,通过删除 headers_module 的 LoadModule 行开始处的“#”,取消对该行的注释。您可以使用文本编辑器(如 Notepad)来执行此操作。完成后,该行应如下所示。

LoadModule headers_module modules/mod_headers.so

若要将该标头添加到服务器上的所有页面,请将以下行添加到 httpd.conf 文件的 LoadModule 行之后。

Header set X-UA-Compatible “IE=EmulateIE7”

一般不需要将标头应用到服务器上的每个页面。<Location> 指令可用于更改 Web 空间中的内容配置,以文本根目录为基点。例如,以下配置可将 HTTP 标头应用到任何以 /store 开头的 URL 路径。它将应用于针对 http://yoursite.com/store 和 http://yoursite.com/store/file.html 的请求以及任何以 /store 字符串开头的其他请求。

<Location /store>
Header set X-UA-Compatible “IE=EmulateIE7”
</Location> 

页面覆盖

如果使用 Web 服务器指定了默认文本兼容性模式,则可通过在特定的网页中指定其他文本兼容性模式来覆盖该设置。在该网页中指定的模式优先于由服务器指定的模式。

有关如何使用指令配置选项的更多深入信息,请参阅 <Location><Directory><Files> 和 <VirtualHost>。有关 Header 指令以及如何在配置部分使用该指令的详细信息,请参阅下列文档。

旧版本

下列链接提供了有关如何使用旧版本的 Apache Web 服务器将自定义 HTTP 响应标头添加到站点的详细信息。

自定义 HTTP 响应标头和其他 Web 服务器

有关 Windows Internet Explorer 8 文本兼容性模式和 Internet Information Services (IIS) Web 服务器的详细信息,请参阅在 IIS 上实现 META 切换

X-UA-Compatible失效问题的更多相关文章

  1. HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用

    HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用? X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的. 通过 ...

  2. jQuery1.4源码解读

    来吧, 慢慢折腾吧 总结一下: jq1.4挺简单的, 正则写的不多, 看的都懂, 多写一些 三目写法到底要不要 特殊的地方的注释一定要有 /*! * jQuery JavaScript Library ...

  3. HTML Meta标签详解

    HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用?主题 HTML X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不 ...

  4. 关于IE11

    最近,一个开发代号为Windows Blue的Windows操作系统泄漏到了互联网上,该操作系统的内置浏览器为IE11,本文将介绍一下这个泄漏版的IE11中有哪些关键的新变化和新特性. 预先声明: 本 ...

  5. YUI的UA检测

    YUI.UA是针对javascript的宿主环境检测的一个检测对象,返回的是一系统关于当前宿主的信息 1.对象相关信息列表及userAgent 检测对象o = { ie: 0, //ie Mozill ...

  6. 浏览器UA汇总

    UA  -- uesr-agent -- 用户代理,是服务器判断请求的种类,比如:使用PC和手机访问一个网站,呈现的画面是不一样的. 原理就是设备的用户代理不同 1 主要浏览器 safari 5.1 ...

  7. UA大全

    ####PC端UA #Opera "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Ch ...

  8. Python爬虫教程-10-UserAgent和常见浏览器UA值

    Python爬虫教程-10-UserAgent和常见浏览器UA值 有时候使用爬虫会被网站封了IP,所以需要去模拟浏览器,隐藏用户身份, UserAgent 包含浏览器信息,用户身份,设备系统信息 Us ...

  9. 各种浏览器UA值

    UA  User-Agent:用户代理,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器引擎.浏览器语言.浏览器插件等. 标准格式为: 浏览器标识 ...

  10. UA

    我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWe ...

随机推荐

  1. MATLAB 文件对话框之图片格式转换

    localpathname为当前路径,需要保存图片的位置,根据自己的实际路径设置,usedpathname用来保存打开的文件位置,方便下次打开文件对话框以上次的路径为默认路径. global used ...

  2. IntelliJ IDEA 15.0.2远程debug tomcat

    背景 在最近的java项目中使用了linux环境下编译的so文件,所以无法在window环境下debug,故此有了这篇文章 环境 jdk:jdk-8u101-linux-x64 os:CentOS r ...

  3. linux系统PXE+Kickstart自动安装系统

    一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

  4. {POJ}{3897}{Maze Stretching}{二分答案+BFS}

    题意:给定迷宫,可以更改高度比,问如何使最短路等于输入数据. 思路:由于是单调的,可以用二分答案,然后BFS验证.这里用优先队列,每次压入也要进行检查(dis大小)防止数据过多,A*也可以.好久不写图 ...

  5. WAP端 经验记录1

    1. 点击元素触发事件的先后顺序:touchstart, touchend, mousedown, mouseup, click 2. Animate 的 stop 问题问题:手机端由于用 CSS3 ...

  6. Spark 2.6.1 源代码在 eclipse 的配置

    本文地址:http://www.cnblogs.com/jying/p/3671767.html 这么个问题又耗费了偶一天时间,真是羞愧.. 上午从官网svn地址下载最新的 spark 包,总是下载失 ...

  7. poj1985 Cow Marathon (求树的直径)

    Cow Marathon Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 3195   Accepted: 1596 Case ...

  8. Spring Web应用的最大瑕疵

    众所周知, 现在的Spring框架已经成为构建企业级Java应用事实上的标准了,众多的企业项目都构建在Spring项目及其子项目之上,特别是Java Web项目,很多都使用了Spring并且遵循着We ...

  9. cf 733f

    给你很多条边,每条边有一个初始边权w1,然后还有一个值表示把这个边权减一的代价w2,然后给你一个预算budget,然后让你输出怎么选边之后构成的树的边权和最小(在用budget减少了边权之后),输出你 ...

  10. RabbitMq 集群配置

    1. RabbitMQ 所需的附属安装包 1.1  openGL安装 执行命令: [root@localhost local]# yum install mesa-libGL-devel mesa-l ...