日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

关于 IE的文档模式的指定

發(fā)布時間:2025/7/14 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于 IE的文档模式的指定 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

IE定義文檔兼容性

文檔兼容性可定義 Internet Explorer 呈現(xiàn)網(wǎng)頁的方式。 本文將介紹文檔兼容性、如何為網(wǎng)頁指定文檔兼容性模式以及如何確定網(wǎng)頁的文檔模式。

簡介

為了幫助確保您的網(wǎng)頁在將來的 Internet Explorer 版本中具有一致的外觀,Internet Explorer 8 引入了文檔兼容性。 文檔兼容性是對 Microsoft Internet Explorer 6 中引入的兼容性模式的擴(kuò)展,使您可以選擇 Internet Explorer 用于顯示網(wǎng)頁的特定呈現(xiàn)模式。

本文將說明文檔兼容性的必要性,列出對近來的 Internet Explorer 版本可用的文檔兼容性模式,并演示如何選擇特定的兼容性模式。

了解文檔兼容性的必要性

Internet Explorer 的每個主要版本中都會添加一些功能,旨在使瀏覽器更易于使用、提高安全性以及更緊密地支持行業(yè)標(biāo)準(zhǔn)。 隨著 Internet Explorer 的功能不斷增加,將會出現(xiàn)較早的網(wǎng)站可能無法正常顯示的風(fēng)險。

為了最大程度地降低這種風(fēng)險,Internet Explorer 6 允許 Web 開發(fā)人員選擇 Internet Explorer 用來解釋和顯示其網(wǎng)頁的方式。 默認(rèn)為“Quirks 模式”;在這種模式下,將按照使用較舊的瀏覽器版本查看網(wǎng)頁的方式來顯示網(wǎng)頁。 “標(biāo)準(zhǔn)模式”(也稱為“嚴(yán)格模式”)的特點是可提供對行業(yè)標(biāo)準(zhǔn)的最大支持;但是,若要利用此增強(qiáng)的支持,網(wǎng)頁中需要包括適當(dāng)?shù)?lt;!DOCTYPE> 指令。

如果某個站點未包括 <!DOCTYPE> 指令,則 Internet Explorer 6 將使用 Quirks 模式顯示該站點。 如果某個站點包含有瀏覽器未能識別的有效 <!DOCTYPE> 指令,則 Internet Explorer 6 將使用 Internet Explorer 6 標(biāo)準(zhǔn)模式顯示該站點。 由于已經(jīng)包含 <!DOCTYPE> 指令的站點很少,因此兼容性模式切換極為成功。 這樣使 Web 開發(fā)人員能夠選擇最佳時間將其站點遷移到標(biāo)準(zhǔn)模式。

隨著時間的推移,許多站點都開始依賴標(biāo)準(zhǔn)模式。 這些站點同時還開始使用 Internet Explorer 6 的功能和行為來檢測 Internet Explorer。 例如,Internet Explorer 6 并不支持 通用選擇器(可能為英文網(wǎng)頁);而某些網(wǎng)站將此用作為 Internet Explorer 提供特定內(nèi)容的方式。

Internet Explorer 7 提供了通用選擇器支持等新功能,旨在更全面地支持行業(yè)標(biāo)準(zhǔn)。 由于 <!DOCTYPE> 指令僅支持 Quirks 模式和標(biāo)準(zhǔn)模式這兩種設(shè)置,因此 Internet Explorer 7 標(biāo)準(zhǔn)模式替換了 Internet Explorer 6 標(biāo)準(zhǔn)模式。

結(jié)果,依賴于 Internet Explorer 6 標(biāo)準(zhǔn)模式的行為的站點(如缺乏對通用選擇器的支持)將無法檢測到新版本的瀏覽器。 因此,Internet Explorer 特定的內(nèi)容不會提供給 Internet Explorer 7,并且這些站點不會按預(yù)期顯示。 由于 Internet Explorer 7 僅支持兩種兼容性模式,因此將會迫使受影響站點的所有者更新其站點以支持 Internet Explorer 7。

與任何早期瀏覽器版本相比,Internet Explorer 8 對行業(yè)標(biāo)準(zhǔn)提供了更加緊密的支持。 因此,針對舊版本的瀏覽器設(shè)計的站點可能不會按預(yù)期顯示。 為了幫助減輕任何問題,Internet Explorer 8 引入了文檔兼容性的概念,從而允許您指定站點所支持的 Internet Explorer 版本。 文檔兼容性在 Internet Explorer 8 中添加了新的模式;這些模式將告訴瀏覽器如何解釋和呈現(xiàn)網(wǎng)站。 如果您的站點在 Internet Explorer 8 中無法正確顯示,則可以更新該站點以支持最新的 Web 標(biāo)準(zhǔn)(首選方式),也可以強(qiáng)制 Internet Explorer 8 按照在舊版本的瀏覽器中查看站點的方式來顯示內(nèi)容。 通過使用 meta 元素將 X-UA-Compatible 標(biāo)頭添加到網(wǎng)頁中,可以實現(xiàn)這一點。

這將允許您選擇何時更新站點以支持由 Internet Explorer 8 支持的新功能。

了解文檔兼容性模式

Internet Explorer 8 支持很多文檔兼容性模式,這些模式啟用不同的功能并可影響內(nèi)容的顯示方式。

  • “模仿 IE8”模式將告訴 Internet Explorer 使用 <!DOCTYPE> 指令來確定如何呈現(xiàn)內(nèi)容。 標(biāo)準(zhǔn)模式指令將以 Internet Explorer 8 標(biāo)準(zhǔn)模式顯示,而 Quirks 模式指令將以 IE5 模式顯示。 與 IE8 模式不同,“模仿 IE8”模式遵循 <!DOCTYPE> 指令。

  • “模仿 IE7”模式將告訴 Internet Explorer 使用 <!DOCTYPE> 指令來確定如何呈現(xiàn)內(nèi)容。 標(biāo)準(zhǔn)模式指令以 Internet Explorer 7 標(biāo)準(zhǔn)模式顯示,而 Quirks 模式指令以 IE5 模式顯示。 與 IE7 模式不同,“模仿 IE7 模式”遵循 <!DOCTYPE> 指令。 對于很多網(wǎng)站來說,這是首選的兼容性模式。

  • IE5 模式呈現(xiàn)內(nèi)容的方式如同使用了 Internet Explorer 7 的 Quirks 模式來顯示內(nèi)容,這與 Internet Explorer 5 顯示內(nèi)容的方式非常相似。

  • 無論頁面是否包含 <!DOCTYPE> 指令,IE7 模式呈現(xiàn)內(nèi)容的方式均如同使用了 Internet Explorer 7 的標(biāo)準(zhǔn)模式來顯示內(nèi)容。

  • IE8 模式可最大程度地支持行業(yè)標(biāo)準(zhǔn)(包括 W3C 級聯(lián)樣式表級別 2.1 規(guī)范(可能為英文網(wǎng)頁) 和 W3C 選擇器 API(可能為英文網(wǎng)頁) ),并提供對 W3C 級聯(lián)樣式表級別 3 規(guī)范(工作草案)(可能為英文網(wǎng)頁) 的有限支持。

  • Edge 模式將告訴 Internet Explorer 以可用的最高級別模式顯示內(nèi)容。 對于 Internet Explorer 8,這等同于 IE8 模式。 假設(shè) Internet Explorer 的將來版本支持更高級別的兼容性模式,那么,設(shè)置為 Edge 模式的頁面將以該版本支持的最高級別的模式顯示。 當(dāng)使用 Internet Explorer 8 查看時,這些相同的頁面仍會以 IE8 模式顯示。

由于 Edge 模式的文檔使用查看網(wǎng)頁所用的 Internet Explorer 版本可用的最高級別模式來顯示網(wǎng)頁,因此,建議僅將 Edge 模式用于測試頁面和其他非生產(chǎn)活動。

指定文檔兼容性模式

若要為網(wǎng)頁指定文檔模式,請使用 meta 元素,以在網(wǎng)頁中包含 X-UA-Compatible http-equiv 標(biāo)頭。 以下示例指定“模仿 IE7”模式兼容性。

<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>

content 屬性指定頁面的模式;若要模仿 Internet Explorer 7 的行為,請指定“IE=EmulateIE7”。 指定“IE=5”、“IE=7”或“IE=8”可選擇相應(yīng)的兼容性模式。 還可以指定“IE=edge”以告訴 Internet Explorer 8 使用可用的最高級別模式。

X-UA-compatible 標(biāo)頭不區(qū)分大小寫;不過,它必須顯示在網(wǎng)頁中除 title 元素和其他 meta 元素以外的所有其他元素之前的標(biāo)頭(HEAD 節(jié)(可能為英文網(wǎng)頁))中。

配置 Web 服務(wù)器以指定默認(rèn)兼容性模式

網(wǎng)站管理員可以通過定義站點的自定義標(biāo)頭,將其站點配置為默認(rèn)采用特定的文檔兼容性模式。 具體過程將依您的 Web 服務(wù)器而定。 例如,通過以下 web.config 文件,可以讓 Microsoft Internet Information Services (IIS) 定義一個自定義標(biāo)頭,以便自動按照 IE7 模式呈現(xiàn)所有頁面。

<?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>

如果使用 Web 服務(wù)器指定了默認(rèn)的文檔兼容性模式,則可通過在特定的網(wǎng)頁中指定不同的文檔兼容性模式來覆蓋默認(rèn)設(shè)置。 在網(wǎng)頁中指定的模式優(yōu)先于由 Web 服務(wù)器指定的模式。

有關(guān)如何指定自定義標(biāo)頭的信息,請查看特定的 Web 服務(wù)器的文檔。 或者,訪問以下網(wǎng)頁以獲取詳細(xì)信息:

  • 在 Apache 上實現(xiàn) META 切換(可能為英文網(wǎng)頁)
  • 在 IIS 上實現(xiàn) META 切換(可能為英文網(wǎng)頁)

確定文檔兼容性模式

若要確定使用 Internet Explorer 8 的網(wǎng)頁的文本兼容性模式,請使用 document 對象的 documentMode 屬性。 例如,將以下內(nèi)容鍵入到 Windows Internet Explorer 8 的地址欄中,可顯示當(dāng)前網(wǎng)頁的文檔模式。

javascript:alert(document.documentMode);

documentMode 屬性將返回一個與頁面的文檔兼容性模式相對應(yīng)的數(shù)值。 例如,如果某個頁面已選擇支持 IE8 模式,則 documentMode 將返回值 8。

在 Internet Explorer 6 中引入的 compatMode 屬性已被棄用,取而代之的是在 Internet Explorer 8 中引入的 documentMode 屬性。當(dāng)前依賴于 compatMode 的應(yīng)用程序仍然可以在 Internet Explorer 8 中運行;但是,應(yīng)將這些應(yīng)用程序更新為使用 documentMode。

如果希望使用 JavaScript 來確定文檔的兼容性模式,則應(yīng)包含支持 Internet Explorer 舊版本的代碼,如以下示例中所示。

engine = null; if (window.navigator.appName == "Microsoft Internet Explorer") {// This is an IE browser. What mode is the engine in?if (document.documentMode) // IE8engine = document.documentMode;else // IE 5-7{engine = 5; // Assume quirks mode unless proven otherwiseif (document.compatMode){if (document.compatMode == "CSS1Compat")engine = 7; // standards mode}}// the engine variable now contains the document compatibility mode. }

了解 content 屬性值

content 屬性的使用很靈活,它可以接受除前面所述的值之外的值。 這樣,您就能夠更好地控制 Internet Explorer 顯示網(wǎng)頁的方式。 例如,可以將 content 屬性設(shè)置為 IE=7.5。 當(dāng)您如此設(shè)置之后,Internet Explorer 會嘗試將該值轉(zhuǎn)換為 版本矢量(可能為英文網(wǎng)頁),并選擇與轉(zhuǎn)換結(jié)果最接近的模式。 在本例中,Internet Explorer 將會設(shè)置為 IE7 模式。 以下示例顯示了為其他值選擇的模式(如果不存在其他緩解因素)。

<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" > 注意 上一個示例顯示了各個 content 值的結(jié)果。 實際上,Internet Explorer 僅遵循網(wǎng)頁中的第一個 X-UA-Compatible 標(biāo)頭。

還可以使用 content 屬性來指定多個文檔兼容性模式;這將有助于確保網(wǎng)頁在將來的瀏覽器版本中顯示一致。 若要指定多個文檔模式,應(yīng)設(shè)置 content 屬性以標(biāo)識要使用的各個模式。 各個模式之間使用分號分隔。

如果某個特定的 Internet Explorer 版本支持多個請求的兼容性模式,則該版本將使用標(biāo)頭的 content 屬性中列出的可用的最高級別模式。 可以利用這一原理來排除特定的兼容性模式,但不建議這樣做。 例如,下面的標(biāo)頭排除了 IE7 模式。

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

控制默認(rèn)呈現(xiàn)

當(dāng) Internet Explorer 8 遇到未包含 X-UA-Compatible 標(biāo)頭的網(wǎng)頁時,它將使用 <!DOCTYPE> 指令來確定如何顯示該網(wǎng)頁。 如果該指令丟失或未指定基于標(biāo)準(zhǔn)的文檔類型,則 Internet Explorer 8 將以 IE5 模式(Quirks 模式)顯示該網(wǎng)頁。

如果 <!DOCTYPE> 指令指定了基于標(biāo)準(zhǔn)的文檔類型,則 Internet Explorer 8 將以 IE8 模式顯示該網(wǎng)頁,但出現(xiàn)以下情況時除外:

  • 為該網(wǎng)頁啟用了兼容性視圖。

  • 該網(wǎng)頁是在 Intranet 區(qū)域中加載的,并且已將 Internet Explorer 8 配置為使用兼容性視圖來顯示 Intranet 區(qū)域中的網(wǎng)頁。

  • 已將 Internet Explorer 8 配置為使用兼容性視圖來顯示所有網(wǎng)站。

  • 已將 Internet Explorer 8 配置為使用兼容性視圖列表(其中指定了一組始終使用兼容性視圖顯示的網(wǎng)站)。

  • 已使用開發(fā)人員工具覆蓋在該網(wǎng)頁中指定的設(shè)置。

  • 該網(wǎng)頁遇到了頁面布局錯誤,并且已將 Internet Explorer 8 配置為,通過在兼容性視圖中重新打開網(wǎng)頁來自動從此類錯誤中恢復(fù)。

有關(guān)詳細(xì)信息,請參見 Internet Explorer 博客: 兼容性視圖概述(可能為英文網(wǎng)頁) 。

注意 如果將 Internet Explorer 配置為使用兼容性視圖加載 Intranet 頁面,Internet Explorer 將對使用 localhost 地址或 環(huán)回地址(可能為英文網(wǎng)頁)加載的頁面引發(fā)異常。 如果 <!DOCTYPE> 指令指定基于標(biāo)準(zhǔn)的文檔類型,則將以 IE8 模式顯示使用這些技術(shù)加載的頁面。

此外,可以使用下面的注冊表項來控制 Internet Explorer 對未包含 X-UA-Compatible 標(biāo)頭的頁面的處理方式。

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
Main
FeatureControl
FEATURE_BROWSER_EMULATION
iexplore.exe = (DWORD)

DWORD 值必須等于下列值之一。

說明
7000包含基于標(biāo)準(zhǔn)的 <!DOCTYPE> 指令的頁面將以 IE7 模式顯示。
8000包含基于標(biāo)準(zhǔn)的 <!DOCTYPE> 指令的頁面以 IE8 模式顯示。
8888頁面始終以 IE8 模式顯示,而不考慮 <!DOCTYPE> 指令。 (這可繞過前面列出的例外情況。)

默認(rèn)情況下,承載 WebBrowser 控件(可能為英文網(wǎng)頁)的應(yīng)用程序?qū)⒁?IE7 模式打開基于標(biāo)準(zhǔn)的頁面,除非頁面中包含適當(dāng)?shù)?X-UA-Compatible 標(biāo)頭。 通過將應(yīng)用程序可執(zhí)行文件的名稱添加到 FEATURE_BROWSER_EMULATION 功能控制項中,并相應(yīng)地設(shè)置值,可以更改打開模式。

總結(jié)

對于 Web 設(shè)計人員來說,兼容性是一個要考慮的重要問題。 盡管最好是創(chuàng)建不依賴于 Web 瀏覽器的特定行為或功能的站點,但有時這樣做是不可能的。 文檔兼容性模式將網(wǎng)頁與 Internet Explorer 特定版本的行為相關(guān)聯(lián)。

使用 X-UA-Compatible 標(biāo)頭可指定頁面支持的 Internet Explorer 版本。 使用 document.documentMode 可確定網(wǎng)頁的兼容性模式。

通過選擇支持特定的 Internet Explorer 版本,可有助于確保頁面在將來的瀏覽器版本中能夠顯示一致。

轉(zhuǎn)載于:https://blog.51cto.com/acefunny/658065

總結(jié)

以上是生活随笔為你收集整理的关于 IE的文档模式的指定的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。