我刚刚注意到我们代码中的一个例程没有正确地转义文本区域中的 & 符号:
<textarea>Arts & Crafts</textarea>
令我惊讶的是,这适用于我检查的每个浏览器。关于文本区域内的&符号是否有不成文的规则?如果是这样,这是我可以依赖的规则吗?或者这只是浏览器提供的一种便利,以确保您的错误页面呈现并且没有任何保证?
大多数浏览器会尝试修复页面中的错误。& 号只能表示 & 号,所以它是这样显示的。替代方法是跳过与号,或者根本不呈现页面,但所有供应商都认为这种回退是最合乎逻辑的。
当文本为 example 时,它会给您带来问题<textarea>Use è to show an è</textarea>
,因为这也会呈现è
为 an è
。因此,在这种情况下,必须转义 & 号。
然而,它是在任何浏览器中以相同方式解决的极少数错误之一。最好不要犯任何错误。这会给你最大的成功机会。;)
这只是一种方便;独立&
是无效的 HTML 和 XHTML。