Categories: Flask 中文教程

Flask XHTML 的历史

一段时间, XHTML 的出现欲取代 HTML 。然而,Internet 上几乎没有任何实
际的 XHTML (用 XML 规则处理的 HTML )网站。这种情况有几个主要的原因。
其一是 Internet Explorer 缺乏对 XHTML 妥善的支持。 XHTML 规范要求 XHTML
必须由 MIME 类型 application/xhtml+xml 来承载,但是 Internet Explorer
拒绝读取这个 MIME 类型下的文件。

虽然配置 Web 服务器来提供正确的 XHTML 相对简单,但很少有人这么做。这可能
是因为正确地使用 XHTML 会是一件痛苦的事。

痛苦的最重要的原因之一是 XML 苛刻的(严格而残忍)错误处理。当 XML 处理中
遭遇错误时,浏览器会把一个丑陋的错误消息显示给用户,而不是尝试从错误中恢
并显示出能显示的。web 上大多数的 (X)HTML 生成基于非 XML 的模板引擎(比如
Flask 所使用的 Jinja)并不会防止你偶然创建无效的 XHTML 。也有基于 XML 的
模板引擎,诸如 Kid 和 流行的 Genshi,但是它们经常具有更大的运行时开销,
并且不能直接使用,因为它们要遵守 XML 规则。

大多数用户,不管怎样,假设它们正在正确地使用 XHTML 。他们在文档的顶部写下
一个 XHTML doctype 并且闭合了所有必要闭合的标签( 在 XHTML 中 <br>
写为 <br /><br></br> )。然而,即使文档可以正确地通过 XHTML
验证,真正决定浏览器中 XHTML/HTML 处理的是前面说到的,经常不被正确设置的
MIME 类型。所以有效的 XHTML 会被视为有效的 HTML 处理。

XHTML 也改变了使用 JavaScript 的方式。要在 XHTML 下正确地工作,程序员不得不
使用带有 XHTML 名称空间的 DOM 接口来查询 HTML 元素。

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

vue:页面注入js修改input值

一般会直接这样写: let z…

2 小时 ago

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago