`—`或`" HTML输出是否有区别?
—
或者—
这些有区别吗? 比另一个更好的支持吗?
SGMLparsing器(或XHTML情况下的XMLparsing器)可以处理—
而不必处理DTD(这对浏览器来说无关紧要,因为他们只是盯着标签汤),而—
对于人类来说更容易在源代码中读写。
就个人而言,我会坚持一个字面上的破折号,并确保我的字符编码设置是一致的。
他们是完全一样的性格。 请参阅: http : //en.wikipedia.org/wiki/Dash
除了浏览器错误之外,它们在所有情况下都会显示相同的内容,所以唯一的区别就是代码的可读性,这将指向—
。
或者,如果您在HTML文档中使用UTF-8作为字符集,则可以直接input字符。 这也将显示完全一样的。
可能是因为使用数字代码更通用,因为它是直接引用到html实体表中的一个字符,但我猜他们都可以在任何地方工作。 第一个符号只是大量容易记住很多字符。
—
:: —
:: \u2014
在将JavaScript文本string中的m-dash表示为输出为HTML时,请注意,它将由其unicode值表示。 在某些情况下,&符号('&')将不会被parsing,特别是JSX中的某些上下文。 在这种情况下, 也不是—
将工作。 相反,您需要使用Unicode转义序列: \u2014
。
例如,在实现render()
方法从JavaScriptvariables输出文本时:
render() { let text='JSX transcoders will preserve the & character—to ' + 'protect from possible script hacking and cross-site hacks.' return ( <div>{text}</div> ) }
这将输出:
<div>JSX transcoders will preserve the & character—to protect from possible script hacking and cross-site hacks.</div>
而不是前缀表示,你应该使用\ u2014:
let text='JSX transcoders will preserve the & character\u2014to '…
来自W3网站用于排版的常用HTML实体
为了便于携带,应该保留Unicode实体引用,以便在某些文件中使用UTF-8或UTF-16字符集。 在所有其他情况下,应使用字母数字参考。
翻译:如果您正在寻求最广泛的支持,请使用—