HTML規範與瀏覽器實現之間的差異


HTML 是全球資訊網上使用最主要的標記語言。HTML最初旨在成為一種用於語義描述科學文件的語言。另一方面,其通用設計使其能夠多年來適應於描述各種其他型別的文件,甚至應用程式。

HTML 規範

規範以非常詳細的方式定義了 Web 平臺的很大一部分。其功能僅限於提供語義級標記語言和相關的語義級指令碼 API,用於創作從靜態文件到動態應用程式的 Web 可訪問頁面。對於 Web 文件,HTML 規範必須儲存在純文字檔案中。文字檔案不得包含任何控制字元。因此,建議在純文字編輯器中建立 HTML 規範,並將其儲存在副檔名為 .html 或 .htm 的檔案中。

瀏覽器的實現

當程式根據規範指南管理合法記錄時,據說它“支援”該規範。由於目前沒有應用程式支援 HTML5 的每個方面(儘管大多數主流瀏覽器都支援),因此對於設計人員來說,確保他們使用的視角將得到他們想要在其上顯示內容的所有程式的支援至關重要。因此,儘管細節出色,但設計人員仍然難以實現跨程式支援。

HTML 規範和瀏覽器實現之間的差異

HTML 規範(例如 HTML5)定義了一組規則,文件必須遵循這些規則才能被規範視為“有效”。規範還指定了瀏覽器如何解釋和呈現此類文件。

瀏覽器的主要功能是透過向伺服器請求並將其顯示在瀏覽器視窗中來呈現我們選擇的 Web 資源。支援和渲染是 Web 瀏覽器之間兩個最顯著的差異。每個瀏覽器在呈現頁面時都表現得非常不同。即使是那些努力遵守標準的人,其遵守方式也前後不一。

HTML 和 CSS 規範定義了瀏覽器如何解釋和顯示 HTML 檔案。這些規範由W3C(全球資訊網聯盟)維護,該聯盟是 Web 標準組織。多年來,瀏覽器僅遵循規範的子集並建立自己的擴充套件。這給 Web 設計師帶來了嚴重的相容性問題。如今,大多數瀏覽器都在一定程度上遵守規範。

令人驚訝的是,瀏覽器使用者介面在任何正式規範中都沒有指定;相反,它是多年經驗以及瀏覽器相互模仿的結果。HTML5 規範沒有指定瀏覽器必須具有的 UI 元素,但它確實列出了一些常見元素。位址列、狀態列和工具欄就是這些示例。當然,也存在瀏覽器特定的功能,例如 Firefox 的下載管理器。

如果 Web 瀏覽器可以根據規範中指定的規則處理有效文件,則稱該瀏覽器支援該規範。儘管所有主要瀏覽器都支援 HTML5 規範的大部分內容,但沒有 Web 瀏覽器支援整個 HTML5 規範。因此,開發人員必須確認他們使用的方面是否會得到他們希望在其上顯示內容的所有瀏覽器的支援。這就是為什麼儘管規範有所改進,但跨瀏覽器支援仍然是開發人員面臨的挑戰。

因此,對於開發人員來說,確保他們使用的規範方面得到他們希望在其上顯示/交付內容的所有 Web 瀏覽器的支援至關重要。因此,儘管 HTML5 規範有所改進,但跨瀏覽器支援仍應謹慎對待。遇到無效 HTML5 文件時,HTML5 規範定義了必須遵循的某些規則。由於無效文件可能包含任何內容,因此 HTML5 規範幾乎不可能涵蓋所有可能的情況。因此,關於如何處理格式錯誤文件的大多數決策完全取決於 Web 瀏覽器。

HTML5 指定了一些在無效 HTML5 文件(即包含語法錯誤的文件)的情況下應遵循的指南。但是,由於無效文件可能包含任何內容,因此規範不可能完全涵蓋所有可能性。因此,瀏覽器會做出許多關於如何處理格式錯誤文件的決策。

更新於: 2023年9月12日

84 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告