精华内容
下载资源
问答
  • 使用X-UA-Compatible来设置IE浏览器兼容模式 文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。 前言 为了帮助确保你的...

    转载:

    使用X-UA-Compatible来设置IE浏览器兼容模式

    文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。

     

    前言

    为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。在IE6中引入一个增设的兼容性模式,文件兼容性使你能够在IE呈现你的网页时选择特定编译模式。

    新的IE为了确保网页在未来的版本中都有一支的外观,IE8引入了文件兼容性。当你引入一个增设的兼容性模式,

    此文章说明文件兼容性的必要性,列出现有版本IE能使用的文件兼容性模式并示范如何选择特定的兼容性模式。

     

    了解文件兼容性的必要性

    每个主要版本IE新增的功能都是为了让浏览器更容易使用、增加安全性及更支持业界标准。以这些作为IE的特色,其中一个风险就是旧版本网站无法正确的显示。

    为了将这个风险降到最低,IE6允许网页开发人员选择IE编译和显示他们网页的方式。"Quirks mode"为预设,这会使页面以旧版本浏览器的视点显示,"Standards mode"(也称为"strict mode")特点是支持业界标准最为完善。然而要利用这个增强的支持功能,网页必须包含恰当的<!DOCTYPE>指令。

    若一个网页没有包含<!DOCTYPE>指令,IE6会将它以quirks mode显示。若网页包含有效的<!DOCTYPE>指令但浏览器无法辨识,IE6会将它以IE6 standards mode显示。因为少数网站已经包含<!DOCTYPE>指令,兼容性模式的切换相当成功。这使网页开发人员能选择将他们的网页转移为standards mode的最佳时机。

    随著时间经过,更多网站开始使用standards mode。它们也开始使用IE6的特性和功能来检测IE。举例来说,IE6不支持universal selector(即css之全局选择器 * {}),一些网站便使用它来针对IE做特定的对应。

    当 IE7增加了对全域选择器的支持,那些依赖IE6特点的网站便无法侦测出这个新版本的浏览器。因此那些针对IE的特定对应无法应用于IE7,造成这些网站便无法如他们预期的显示。由于<!DOCTYPE>只支持两种兼容性模式,受到影响的网站拥有者被迫更新他们的网站使其能支持IE7。

    IE8 比之前的任何版本浏览器都更支持业界标准,因此针对旧版本浏览器设计的网页可能无法如预期般呈现。为了帮助减轻所有问题,IE8引入文件兼容性的概念,使你能选择你的网页设计要对应的特定IE版本。文件兼容性在IE8增加了一些新的模式,这些模式能告诉浏览器如何解析和编译一个网页。若你的网页无法在 ie8正确的显示,你可以更新你的网站使它支持最新的网页标准(优先选项)或在你的页面上新增一个meta元素用于告诉IE8如何依照旧版本浏览器编译你的页面。

    这能让你选择将你的网站更新支持IE8新特点的时机。

     

    认识文件兼容性模式

    IE8支持几种文件兼容性模式,它们具有不同的特性并影响内容显示的方式。

    •Emulate IE8 mode指示IE使用<!DOCTYPE>指令来决定如何编译内容。Standards mode指令会显示成IE8 Standards mode而quirks mode会显示成IE5 mode。不同于IE8 mode,Emulate IE8 mode重视<!DOCTYPE>指令。

    •Emulate IE7 mode指示IE使用<!DOCTYPE>指令来决定如何编译内容。Standards mode指令会显示成IE7 Standards mode而quirks mode会显示成IE5 mode。不同于IE7 mode,Emulate IE7 mode重视<!DOCTYPE>指令。对于许多网页来说这是最推荐的兼容性模式。

    •IE5 mode 编译内容如同IE7的quirks mode之显示状况,和IE5中显示的非常类似。

    •IE7 mode编译内容如同IE7的standards mode之显示状况,无论网页是否含有<!DOCTYPE>指令。

    •IE8 mode提供对业界标准的最高支持,包含 W3C Cascading Style Sheets Level 2.1 SpecificationW3C Selectors API,并有限的支持 W3C Cascading Style Sheets Level 3 Specification (Working Draft)

    •Edge mode指示IE以目前可用的最高模式显示内容。当使用IE8时其等同于IE8 mode。若(假定)未来放出支持更高兼容性模式的IE,使用Edge mode的页面会使用该版本能支持的最高模式来显示内容。同样的那些页面在使用IE8浏览时仍会照常显示。

    由于edge mode使用该IE版本所能支持的最高模式来显示所浏览的网页内容,建议仅使用于测试页及其他非商用页面。

     

    指定文件兼容性模式

    要为你的网页指定文件模式,需要在你的网页中使用meta元素放入X-UA-Compatible http-equiv 标头。以下是指定为Emulate IE7 mode 兼容性之范例。

    <html>

    <head>

    <!-- Mimic Internet Explorer 7 -->

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

    <title>My Web Page</title>

    </head>

    <body>

    <p>Content goes here.</p>

    </body>

    </html>

     

    其内容随著指定的页面模式而更改,当要模拟IE7时,指定IE=EmulateIE7,指定IE=5, IE=7, 或IE=8来选择其中一种兼容性模式。你也可以指定IE=edge来指示IE8使用它支持的最高模式。

    X-UA-compatible标头没有大小写之分。然而除了title元素及其他的meta元素之外,它必须出现在网页header节其它元素之前的位置,

     

    设定网站服务器以指定预设兼容性模式

    网站管理员可籍着为网站定义一个自订标头来为他们的网站预设一个特定的文件兼容性模式。这个特定的方法取决于你的网站服务器。举例来说,下列的web.config文件使Microsoft Internet Information Services (IIS)能定义一个自订标头以自动使用IE7 mode来编译所有网页。

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

    <system.webServer>

    <httpProtocol>

    <customHeaders>

    <clear />

    <add name="X-UA-Compatible" value="IE=EmulateIE7" />

    </customHeaders>

    </httpProtocol>

    </system.webServer>

    </configuration>

     

    若你已于网站服务器指定了一个预设的文件兼容性模式,你可以在个别页面上指定不同的文件兼容性模式来盖过它。在网页中指定的模式优先权高于服务器中所指定的模式。

    请查阅你的网站服务器关于指定自订标头的资讯,或看更多资料:

    Implementing the META Switch on Apache

    Implementing the META Switch on IIS

     

    判定文件兼容性模式

    要判定网页使用IE8浏览时的文件兼容性模式,使用document object(文档对象)的documentMode功能。例如在IE8的网址列输入下列程式码会显示目前页面的文件模式。

    javascript:alert(document.documentMode);

    documentMode功能会回传一个数值对应目前页面的文件兼容性模式,举例来说,若网页指定为支持IE8模式,documentMode便会回传值"8"。

    在IE6引入的compatMode功能不支持在IE8引入的documentMode功能。目前使用compatMode建立的应用程式还能在IE8中作用,但它们必须更新为使用documentMode。

    若你希望使用JavaScript判定一个文件的兼容性模式,引入下面范例的这段程式码可支持旧版本的IE。

    engine = null;

    if (window.navigator.appName == "Microsoft Internet Explorer")

    {

    // This is an IE browser. What mode is the engine in?

    if (document.documentMode) // IE8

    engine = document.documentMode;

    else // IE 5-7

    {

    engine = 5; // Assume quirks mode unless proven otherwise

    if (document.compatMode)

    {

    if (document.compatMode == "CSS1Compat")

    engine = 7; // standards mode

    }

    }

    // the engine variable now contains the document compatibility mode.

    }

    认识内容属性值

    内容属性值在接收到异于先前叙述的数值时是具有弹性的。这能使你对于IE如何显示你的网页更有操控性。举例来说,你可以设定内容属性值为IE=7.5。当你这样做的时候,IE尝试将这个值转换为version vector并选择最接近的结果。在这个例子中,IE会将其设定为IE7 mode。下面的范例显示该模式设定为其他值的状况。

    <meta http-equiv="X-UA-Compatible" content="IE=4"> <!-- IE5 mode -->

    <meta http-equiv="X-UA-Compatible" content="IE=7.5"> <!-- IE7 mode -->

    <meta http-equiv="X-UA-Compatible" content="IE=100"> <!-- IE8 mode -->

    <meta http-equiv="X-UA-Compatible" content="IE=a"> <!-- IE5 mode --> 

     

    <!-- This header mimics Internet Explorer 7 and uses

    <!DOCTYPE> to determine how to display the Web page -->

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

    注意: 前面的范例显示单独的内容值。实际上IE只会执行网页中第一个X-UA-Compatible标头。

    你也可以使用内容属性来指定复数的文件兼容性模式,这能帮助确保你的网页在未来的浏览器版本都能一致的显示。欲设定复数的文件模式,请设定内容属性以判别你想使用的模式。使用分号来分开各个模式。

    如果一个特定版本的IE支持所要求的兼容性模式多于一种,将採用列于标头内容属性中最高的可用模式。你可以使用这个特性来排除特定的兼容性模式,虽然并不推荐这样做。举例来说,下列标头即会排除IE7 mode。

    <meta http-equiv="X-UA-Compatible" content="IE=5; IE=8" />

    结论

    兼容性对于网页设计师来说是非常重要的顾虑。虽然最好是可以建立一个完全不需依赖任何网页浏览器特性或功能的网站,有时候这是不可能实现的。文件兼容性模式便能将网页限制在某个特定版本的IE中。

    使用X-UA-Compatible标头来指定你的页面支持的IE版本。使用document.documentMode判定页面的兼容性模式。

    选择支持某个特定版本的IE,你可以确保你的页面在未来的浏览器版本中也能有显示的一致性。

    展开全文
  • Edge,IE浏览器 兼容模式设置

    万次阅读 2018-12-15 17:40:40
    1.前两天帮别人查教师资格证分数,发现只能用内核为IE的浏览器且是兼容模式才可以进入该网站,下面是用谷歌浏览器访问该网站给的提示: 2.我的电脑是win10系统,然后去用Edge浏览器去访问该网站,依旧是上面的提示...

    1.前两天帮别人查教师资格证分数,发现只能用内核为IE的浏览器且是兼容模式才可以进入该网站,下面是用谷歌浏览器访问该网站给的提示:
    在这里插入图片描述

    2.我的电脑是win10系统,然后去用Edge浏览器去访问该网站,依旧是上面的提示,说明浏览器不是兼容模式,进入Edge浏览器设置中,如下图操作:
    在这里插入图片描述

    3.打开“使用Internet Explorer打开”后,会出现一个兼容性设置窗口,在里面加入你访问网站即可,如下图操作:
    在这里插入图片描述

    4.在第3步中,如果打不开“使用Internet Explorer打开”,说明系统设置关闭了,到“控制面板”中,“程序和功能”中打开“Internet Explorer”选项,保存即可。
    在这里插入图片描述

    5.重启电脑,重复第3步操作即可。

    展开全文
  • 在浏览器的发展历史中,出现过多家厂商争夺市场,导致同时存在两种标准;...而某些网站却仍采用原有标准,为了兼容在IE8 IE9中变... 其实据我目前的理解,设置兼容模式就是设置浏览器对网页的呈现方式,也就是指定浏览...

          在浏览器的发展历史中,出现过多家厂商争夺市场,导致同时存在两种标准;后W3C出面制定了HTML5,总算结束纷争。而某些网站却仍采用原有标准,为了兼容在IE8  IE9中变出现了兼容浏览模式,英文为Compatibility View Mode。《这个周末要仔细的把这几种模式学习一下》

          其实据我目前的理解,设置兼容模式就是设置浏览器对网页的呈现方式,也就是指定浏览器的渲染方式。如果在用IE9打开某一个网页时, 在“刷新”图标的前面,出现一个像被撕裂的纸张一样的图标,如下图中粉色圆圈内的图标。就表明需对当前的网页进行兼容性显示。

           现在就说明下如何设置浏览器的兼容模式,先说明手动设置方式,再说明它的注册表位置。

         1)对某一个指定的网页进行兼容性设置

              在当前需设置的网页内,按下F12快捷键;

              此时会弹出开发者工具窗口,点击“Browser Mode”,选中“IE9 Compat View”,如图2所示;

             选中后,网页将会自动重新加载,且上图粉色圆圈内的图标也将消失。

            这种方法有一个缺点,就是即便是打开同样的网页,第二次打开时仍需重新设置一次,浏览器无法记住当前的操作。

            

                                   图2  设置网页的兼容性

               2)对所有的网页都启用兼容模式

               打开IE9或IE8,点击快捷键ALT;

               此时IE的菜单栏就会浮现,如图3所示;

           图3 浏览器兼容模式设置

               左键点击“Tools”--->Compatibility View Settings选项,会弹出Compatibility View的设置窗口。

           若采用这种方式,不需要对浏览器进行重复设置。

     

           手动设置完毕后,可以通过设置前与设置后的注册表对比,找到兼容模式在注册表中的位置:

            HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation的 AllSitesCompatibilityMode;
    若其为1,则表明当前对所有的网页采用兼容模式;若其不存在或为0,这表明当前没有设定兼容模式。
      

            

    转载于:https://www.cnblogs.com/o--ok/archive/2012/11/01/IE8IE9-Compabilityview.html

    展开全文
  • 解决下在IE浏览器兼容模式下 img引入图片周围出现边框问题()"> src="../static/images/loginlogin.png" alt="" /> 加上 style="border

    解决下在IE浏览器兼容模式下 img引入图片周围出现边框问题

    <a href="javascript:submitForm()"><img style="border:0" class="login"
                                    src="../static/images/loginlogin.png" alt="" /></a>
    加上 style="border:0" 在img标签里。
    展开全文
  • IE浏览器兼容模式自动开启代码

    千次阅读 2012-12-10 17:18:23
    在开发过程中,遇到代码一致且没问题,但显示的效果因不同版本的浏览器而不同,主要原因之一就是IE浏览器兼容模式未开启: 如下JavaScript代码为: 自动开启兼容模式 engine = null; if (window....
  • IE浏览器时,碰到在兼容模式下,页面样式乱或者是js不生效的情况: 在tatle中增加
  • 今天遇到一个IE兼容的奇葩问题,浏览器兼容模式
  • 使用 X-UA-Compatible 标头可指定页面支持的 Internet ... 使用 document.documentMode 可确定网页的兼容模式。 通过选择支持特定的 Internet Explorer 版本,可有助于确保页面在将来的浏览器版本中能够显示一致。
  • IE6中引入一个增设的兼容模式,文件兼容性使你能够在IE呈现你的网页时选择特定编译模式。 新的IE为了确保网页在未来的版本中都有一支的外观,IE8引入了文件兼容性。当你引入一个增设的兼容模式, 此文章说明...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,954
精华内容 10,781
关键字:

ie浏览器兼容模式