Flask XHTML 的歷史

2021-08-10 10:33 更新

一段時間, XHTML 的出現(xiàn)欲取代 HTML 。然而,Internet 上幾乎沒有任何實 際的 XHTML (用 XML 規(guī)則處理的 HTML )網站。這種情況有幾個主要的原因。 其一是 Internet Explorer 缺乏對 XHTML 妥善的支持。 XHTML 規(guī)范要求 XHTML 必須由 MIME 類型 application/xhtml+xml 來承載,但是 Internet Explorer 拒絕讀取這個 MIME 類型下的文件。

雖然配置 Web 服務器來提供正確的 XHTML 相對簡單,但很少有人這么做。這可能 是因為正確地使用 XHTML 會是一件痛苦的事。

痛苦的最重要的原因之一是 XML 苛刻的(嚴格而殘忍)錯誤處理。當 XML 處理中 遭遇錯誤時,瀏覽器會把一個丑陋的錯誤消息顯示給用戶,而不是嘗試從錯誤中恢 并顯示出能顯示的。web 上大多數(shù)的 (X)HTML 生成基于非 XML 的模板引擎(比如 Flask 所使用的 Jinja)并不會防止你偶然創(chuàng)建無效的 XHTML 。也有基于 XML 的 模板引擎,諸如 Kid 和 流行的 Genshi,但是它們經常具有更大的運行時開銷, 并且不能直接使用,因為它們要遵守 XML 規(guī)則。

大多數(shù)用戶,不管怎樣,假設它們正在正確地使用 XHTML 。他們在文檔的頂部寫下 一個 XHTML doctype 并且閉合了所有必要閉合的標簽( 在 XHTML 中 <br> 要 寫為 <br /><br></br> )。然而,即使文檔可以正確地通過 XHTML 驗證,真正決定瀏覽器中 XHTML/HTML 處理的是前面說到的,經常不被正確設置的 MIME 類型。所以有效的 XHTML 會被視為有效的 HTML 處理。

XHTML 也改變了使用 JavaScript 的方式。要在 XHTML 下正確地工作,程序員不得不 使用帶有 XHTML 名稱空間的 DOM 接口來查詢 HTML 元素。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號