使用標記強制關閉IE兼容模式

我正在爲在全部Intranet站點上強制兼容模式的客戶端工做。 我想知道是否有一個標籤,我能夠放入個人HTML,強制兼容模式關閉。 php


#1樓

若是您正在使用Intranet區域中的頁面,您可能會發現IE9不管您作什麼,都會進入IE7 Compat模式。 css

這是由於IE兼容性設置中的設置代表全部Intranet站點都應以兼容模式運行。 您能夠經過組策略解除此問題(或者只是在IE中簡單地取消它),或者您能夠設置如下內容: html

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

這有效(詳見其餘答案),但最初可能不會出現: 它須要在聲明樣式表以前出現。 若是不這樣作,則會被忽略。 html5


#2樓

元標記解決方案不適合咱們,但在響應標頭中設置它: web

header('X-UA-Compatible: IE=edge,chrome=1');

#3樓

根據我最近的經歷,關於這個主題的幾點說明。 我工做的大學用IE 8設置了適用於全部Intranet站點的兼容模式的筆記本電腦。 我嘗試添加元標記以禁用個人網站提供的頁面的此模式,但IE始終忽略此標記。 正如Lance在他的帖子中提到的,添加一個響應標題解決了這個問題。 這是我根據HTML5樣板方法設置標頭的方法: chrome

<IfModule mod_headers.c>
  Header set X-UA-Compatible "IE=edge,chrome=1"
  # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
  <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>

爲了實際發送此標頭,您必須確保在Apache中啓用了mod_headers。 若是你想確保你打開這個mod,把它放在一個能夠運行php的頁面中: apache

<pre>
<?php
    print_r(apache_get_modules());
?>
</pre>

#4樓

這是由於IE兼容性設置中的設置代表全部Intranet站點都應以兼容模式運行。 您能夠經過組策略解除此問題(或者只是在IE中簡單地取消它),或者您能夠設置如下內容: 瀏覽器

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

顯然,不可能將兼容性視圖設置更改成組策略,但它能夠在註冊表中更改,這個元標記對我來講很好,我必須使必需的屬性做爲html表單的一部分工做,它適用於chrome和firefox,但不適用於IE。 服務器

這是一個很好的視覺,瞭解哪些瀏覽器支持每一個單獨的html 5元素。 app

http://html5readiness.com/

注意一個共同點谷歌Chrome,它支持一切。 但願這有幫助


#5樓

正如在對相關問題的回答中所建議的,能夠在Web.Config文件中設置「edge」模式。 這將使其適用於從應用程序返回的全部HTML,而無需將其插入單個頁面:

<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="X-UA-Compatible" value="IE=edge" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

一樣的步驟也能夠經過使用IIS管理器爲IIS服務器,整個網站或特定應用程序修改「HTTP響應標頭」來完成。

相關文章
相關標籤/搜索