Широко ли поддерживают браузеры числовые кавычки в атрибутах? - PullRequest
0 голосов
/ 08 июня 2009

Существуют и другие способы связи с JS, кроме этого (обычного) ..

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

... которые используют другие типы котировок:

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

Широко ли они поддерживаются в современных браузерах и в старых браузерах, таких как IE6? В принципе, безопасно ли использовать этот метод, так же, как если бы вы использовали обычный метод двойных кавычек?


Редактировать: Спецификация HTML4 , кажется, позволяет, но хорошо ли она поддерживается в практической реальности?

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 ]

7 голосов
/ 08 июня 2009

Использование «вместо» просто неправильно , оно не имеет такого же значения в спецификациях SGML и XML. Значения аргументов элементов должны использовать одинарные (') или двойные кавычки ("). В старой спецификации SGML этот элемент

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

можно прочитать как элемент с именем foo и атрибутом с именем bar со значением "quux" . Однако стандарт определяет, что значения атрибутов без кавычек не должны включать экранированные символы. И этот элемент

<foo bar="quux" />

следует читать как элемент с именем foo и атрибутом с именем bar со значением quux без кавычек. Это связано с тем, что в SGML кавычки являются необязательными, и все до следующего пробела будет использоваться в качестве значения для атрибута.

XML требует кавычек.

2 голосов
/ 08 июня 2009

Существует различие между разделителем значения атрибута и символом кавычки или двойной кавычки.

Вы должны использовать литерал "или" для разграничения значений атрибутов (кроме случаев, когда разделители являются необязательными ). В этом случае последовательность байтов означает "значение атрибута, разделенное" не "(двойная) кавычка знак "

Ссылки на символы могут использоваться для представления (двойной) кавычки, но это более сложный и неэффективный способ по сравнению с использованием литерала, поэтому его следует использовать только тогда, когда литерал недоступен (т. Е. Когда он будет значением атрибута) разделитель, потому что вы находитесь внутри значения атрибута, где открывающим разделителем был этот символ).

0 голосов
/ 08 июня 2009
<script src=myscript.js></script>

действует в HTML5 и поддерживается всеми значимыми браузерами.

0 голосов
/ 08 июня 2009

Вы должны придерживаться двойных кавычек - в противном случае атрибут может быть прочитан неправильно.

0 голосов
/ 08 июня 2009

Просто из любопытства. Почему вы хотите использовать закодированные варианты? В большинстве текстовых редакторов форматирование будет нарушено. Для меня это было бы очень раздражающим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...