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

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/10/24 16:30:18
  • 終了:2008/10/31 16:35:02

回答(2件)

id:northapple No.1

northapple回答回数85ベストアンサー獲得回数62008/10/24 16:59:43

ポイント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

van-dine回答回数108ベストアンサー獲得回数112008/10/24 17:13:22

ポイント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のリファレンスを
    確認しましたが、該当するプロパティやメソッドが見当たらなかったですね…。

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません