(本文から引用)
Safari では Google サジェスト で日本語が文字化けしていた(改善されている)。これに限らず Ajax のサンプルで文字化けすることが多い。原因は JavaScript の XMLHttpRequest にある。具体的には、responseText の返り値が文字化けしている。Google サジェスト では XML ではなくただのテキストをやりとりしている。Safari ではデータの内容が XML ではないテキストだと responseText が文字化けしてしまう。この内容が XML であれば化けない。
XMLHttpRequest て名前なんだから XML で渡すべきなのかもしれないが、XML を渡して JavaScript 側でパースするより、扱いやすいデータで渡した方が実装が楽だったり負荷が軽かったりする場合もある。Google サジェスト はスクリプトコードを受け渡していて、そのまま eval しているようだ。
ひさしぶりに WebCore のソースを見る。JavaScriptCore ではなく WebCore の方で実装されていて、ファイルは /khtml/ecma/xmlhttprequ...
この記事をクリップしたユーザー一覧
-
texekexeさん 2008/05/10 15:09
- タグ:
他にもこんなクリップがオススメ
-
IT戦記 - 一行で IE の JavaScript を高速化する方法 本文へ
IE の JavaScript を高速化する方法。 -
script.aculo.us - web 2.0 javascript 本文へ
scriptaculous.js -
JavaScript例文辞典 本文へ
