HTMLの charset が何かを javascript が簡単に判定するメソッドはあるのでしょうか?

document.getElementsByTagName('meta')[0].content のようなルーチンまわして文字列操作やってというのは
もちろんできるのですが、関数でcharsetを一発でとれるものがあると便利です。prototype.jsにはそういったものはないのでしょうか? header 部分に何が書いてあるのかをループまわしてし、文字列比較、操作やってしか取得できないというのは非常に不便なような気がします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/10/31 16:35:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:northapple No.1

回答回数85ベストアンサー獲得回数6

ポイント35pt

document オブジェクトの characterSet プロパティは現在の文書の文字エンコーディングを返します

例えば、以下のブックマークレットは

q.hatena.ne.jp では UTF-8 を返しますし、

www.asahi.com では EUC-JP を返します。

javascript:alert(document.characterSet)
// q.hatena.ne.jp --> UTF-8
// www.asahi.com  --> EUC-JP

参考URL

https://developer.mozilla.org/en/DOM/document.characterSet

id:isogaya

これは、prototype か jquery では吸収していないのでしょうか?

2008/10/24 17:02:24
id:van-dine No.2

回答回数108ベストアンサー獲得回数11

ポイント35pt

標準のJavaScriptで取得できます。

IEではdocument.charset

Firefoxでは、document.characterSetで取得できます。

OperaやSafariではどちらでも取得できます。

余談ですが、IEとSafariではブラウザ設定の文字コードを

document.defaultCharsetで取得できます。

http://www.openspc2.org/JavaScript/reference4/index.html

id:isogaya

うーん、ブラウザ間の差異を吸収してくれるのは、なさげですね。

2008/10/24 17:22:31
  • id:isogaya
    document.charset は、IE ではとれて、FireFox ではとれないようです。そんなことあるんでしょうか?
  • id:isogaya
    http://q.hatena.ne.jp/1154158529
    にありました。IE以外は、document.characterSetでした。これは、prototype.js もしくは jquery で差異を吸収していないのでしょうか?
  • id:van-dine
    ちなみに、prototype.js 1.5とjQuery 1.2.6のリファレンスを
    確認しましたが、該当するプロパティやメソッドが見当たらなかったですね…。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません