浏览器是否广泛支持属性中的数字引号?

时间:2009-06-08 06:44:24

标签: javascript html tags

除了这个(通常的)之外,还存在链接到JS的其他方式..

<script src="myscript.js" type="text/javascript"></script>

...利用其他报价类型:

<script src=&#34;myscript.js&#34; type=&#34;text/javascript&#34;></script>

现代浏览器和旧版浏览器(如IE6)是否广泛支持这些?使用这种方法基本上是安全的,就像使用常规的双引号方法一样?


编辑 HTML4 spec似乎允许它,但是它在实际现实中得到了很好的支持吗?

3.2.2 Attributes

  Authors may also use numeric character references to represent
  double quotes (&#34;) and single quotes (&#39;).

  For double quotes authors can also use the
  character entity reference &quot;.

5 个答案:

答案 0 :(得分:7)

使用&amp;#34;而不是“只是错误,它在SGML和XML规范中没有相同的含义。元素的参数值应该使用单引号(')或双引号(”)。在旧的SGML规范中这个元素

<foo bar=&#34;quux&#34; />

可以被读作名为 foo 的元素,以及名为 bar 的属性,其值为“quux”。但是,该标准定义了不带引号的属性值不应包含转义字符。而这个元素

<foo bar="quux" />

应该被读作名为 foo 的元素,以及名为 bar 的属性,其值为 quux ,不带引号。这是因为在SGML中,引号是可选的,直到下一个空格的所有内容都将用作属性的值。

XML需要引号。

答案 1 :(得分:2)

属性值分隔符与引号或双引号字符之间存在差异。

你必须使用文字“或”来分隔属性值(delimiters are optional除外)。在这种情况下,字节的顺序意味着“属性值分隔”而不是“(双)引号”

字符引用可用于表示(双)引号,但与使用文字相比,它是一种更复杂,效率更低的方式,因此只应在文字不可用时使用(即当它是属性值时)分隔符,因为您在一个属性值内,其中开头分隔符是该字符)。

答案 2 :(得分:0)

出于好奇。为什么要使用编码变体?在大多数文本编辑器中,它将打破格式。对我来说这会很烦人。

答案 3 :(得分:-2)

你应该坚持使用双引号 - 否则可能无法正确读取属性。

答案 4 :(得分:-2)

<script src=myscript.js></script>

在HTML5中有效,并且每个重要的浏览器都支持。