2009-06-08 68 views
0

存在着鏈接到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;. 
+0

3.2.2節討論屬性值,而不是分隔符。 – elmuerte 2009-06-08 08:31:58

+0

不,它談到了分隔符......參見:「默認情況下,SGML要求使用雙引號分隔所有屬性值......作者也可以使用」 – 2009-06-08 08:48:42

+0

該部分的文本有點混淆,但該段的第一部分明確指出:「默認情況下,SGML要求使用雙引號(ASCII小數點34)或單引號(ASCII小數點39)來定界所有屬性值。」之後,該段落繼續介紹如何允許您在屬性的值內表示引號。即您可以使用「當使用的分隔符是」時,或者您可以使用「當使用的分隔符是」時,或者您始終可以使用數字轉義符號來表示任一形式。 – elmuerte 2009-06-08 09:15:19

回答

7

使用&#34;而不是「僅僅是錯誤,它在SGML和XML規範中沒有相同的含義。元素的參數值應該使用單引號(')或雙引號(」)。在舊的SGML規範這個元素

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

可以與名被解讀爲一個元素,屬性命名酒吧與價值「QUUX」。但是,該標準定義未加引號的屬性值不應包含轉義字符。而這種元素

<foo bar="quux" /> 

應被解讀爲元素的名稱FOO和屬性命名酒吧與價值QUUX不帶引號。這是因爲在SGML中引號是可選的,直到下一個空格的所有內容都將用作該屬性的值。

XML需要報價。

0

只是出於好奇。你爲什麼要使用編碼的變體?在大多數文本編輯器中,它會打破格式。對我來說這將是非常煩人的。

-2

您應該堅持使用雙引號 - 其他屬性可能無法正確讀取。

+0

「可能不正確」...所以我要說出你的話並走開? – 2009-06-08 07:12:10

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

在HTML5中有效,並且受到每個重要瀏覽器的支持。

2

屬性值分隔符與引號或雙引號字符之間有區別。

你必須使用文字「或」來分隔屬性值(除非delimiters are optional)。在這種情況下,字節SQUENCE意味着‘屬性值分隔的’不‘(雙)引號’

的字符引用可以用來表示一個(雙)引號,但與使用文字相比,它是一種更復雜和低效的方式,所以只能在文字不可用時才使用(即當它是一個屬性值分隔符,因爲你是在開始分隔符是該字符的屬性值內)。

相關問題