11

HTML では、script 要素にオプションの charset 属性があります。

その目的は何ですか?

いつ便利ですか?

4

3 に答える 3

7

ページが使用しているエンコードとは異なるエンコードで JavaScript ファイルがエンコードされている場合は、charset属性を使用して、ブラウザに解釈方法を伝えることができます。

たとえば、ページは を使用してLatin1いるが、JS ファイルはUTF-8.

于 2012-04-21T09:35:43.210 に答える
5

パラメータの目的はcharset、エンコーディングが HTTP プロトコル レベルで指定されていない場合に、外部スクリプトのエンコーディングを指定することです。HTTP ヘッダーのエンコーディング情報をオーバーライドすることを意図したものではなく、それを行いません。

これは、作成者が HTTP ヘッダーを制御できず、ヘッダーで文字エンコーディングが指定されていない場合に役立ちます。また、HTTP サーバー経由ではなく、直接アクセスされる Web ページのローカル コピーなどのオフライン ファイルにも役立つため、HTTP ヘッダーは存在しません。

実際には、あまり役に立ちません。JavaScript ファイルで非 ASCII 文字を使用する必要がある場合は、UTF-8 エンコーディングを使用できます。先頭の BOM で UTF-8 を使用する場合、BOM は、ブラウザーがエンコーディングを推測できるようにする便利なインジケーターとして機能します。しかし、追加で使用しても害はありませんcharset=utf-8

于 2012-04-21T16:19:56.163 に答える
3

各 JavaScript ファイルはページとは別の要素です。結局のところ、ページとはまったく関係のないリモートの作成者のサーバーから JS をロードすることもできます。他の外部要素と同様に、リモートサーバーが何らかの理由で間違った文字セットを返す場合、または念のために「文字セット」を手動で指定できます。

また、この JS ファイルへの書き込みアクセス権を自分で持っている場合は、すべての非 ASCII を Unicode 位置エスケープに置き換えることができます。これにより、ヘッダーで指定されているエンコーディングに関係なく、シンボルが常に正しく解釈されることが保証されます。Google Closure Compiler などの一部の JS ミニファイアーは、自動的に実行できます。

于 2012-04-21T10:11:00.900 に答える