說我有一個這樣的腳本: <script type="text/javascript" src="myScript.js">
腳本標記的charset屬性的默認值是什麼?
我已經看到了一些網上的來源聲稱,如果省略charset
屬性,則默認爲ISO-8859-1。我見過其他人聲稱它假定與包含腳本標籤的HTML頁面具有相同的編碼。什麼是真相?
我需要知道,因爲我的JavaScript文件包含將被插入到HTML中的文字字符串,其中包括非ASCII字符,如歐元符號(€)。我意識到添加一個charset屬性或只是HTML編碼這些字符應該可以解決我的問題,但我仍然想了解默認行爲。
編輯:爲了澄清一點,我不僅需要知道標準所說的內容,而且還需要了解瀏覽器的實際行爲。這裏描述的行爲:http://joconner.com/2008/09/javascript-file-encoding/似乎暗示瀏覽器不總是總是假設ISO-8859-1。
我期望默認行爲依賴於您的**服務器**,而不是在任何「封閉」內容中定義的字符集。我不知道這是肯定的,所以張貼作爲評論而不是答案。 – Ben 2011-02-15 14:31:36
IIRC,瀏覽器默認爲「腳本出現的頁面的編碼,有時即使charset另有說明」。我沒有一個權威的來源,所以我很猶豫,把這個作爲一個答案.. – Quentin 2011-02-15 15:20:49
@Ben Poole:當你說它依賴於服務器,你的意思是在服務器發送的HTTP頭,或什麼其他?我的意思是,最終網絡瀏覽器必須弄清楚如何閱讀腳本,對吧? – 2011-02-15 16:22:25