簡體   English   中英

HTML中script元素的charset屬性的目的是什么?

[英]What is the purpose of charset attribute of script element in HTML?

在HTML中,script元素具有可選的charset屬性。

它的目的是什么?

什么時候有用?

如果您的javascript文件使用與頁面使用的編碼不同的編碼進行編碼,則可以使用charset屬性告訴瀏覽器如何解釋它。

例如,如果頁面使用Latin1 ,但JS文件是使用UTF-8創建的。

charset參數的目的是在HTTP協議級別未指定編碼的情況下指定外部腳本的編碼。 並不意味着覆蓋HTTP頭中的編碼信息,並且它不會這樣做。

當作者無法控制HTTP標頭且標頭未指定字符編碼時,這非常有用。 它對於脫機文件也很有用,例如在直接訪問的網頁的本地副本中,而不是通過HTTP服務器,因此不存在HTTP標頭。

在實踐中,它不是很有用。 如果需要在JavaScript文件中使用非Ascii字符,則可以使用UTF-8編碼。 如果您使用帶有前導BOM的UTF-8,則BOM會充當一個有用的指標,讓瀏覽器可以推斷出編碼。 但是額外使用charset=utf-8並沒有什么壞處。

每個JavaScript文件都是一個獨立於頁面的元素,畢竟你甚至可以從一些遠程作者的服務器加載JS,否則它與你的頁面根本沒有任何關系。 與任何其他外部元素一樣,如果遠程服務器由於某種原因返回錯誤的字符集或者只是為了確定,您可以手動指定“charset”。

此外,如果您自己具有對此JS文件的寫入權限,則可能需要將所有非ASCII替換為Unicode位置轉義 - 這將保證無論頭部中指定的編碼是什么,都將始終正確解釋符號。 一些JS minifiers,如Google Closure Compiler,可以自動為您完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM