何のために??
例えば1分おきとかに自動的にデータがリロードされたりとか、ボタンを押すたびにサーバからデータを取得しなおしたいとか、そういった用途がちょっとだけ必要になったので、色々考えた(いや、それほどでもない)ので、その時の出来事についてメモしておこうかなぁ、という訳です。
それってajaxでよくね?
全くその通りだと思います。私もその時ajaxで対応したかったのですが、
「既にリアルタイムで更新されているデータがサーバ上にあり、かつそのデータは他のサービスで使用中な為、吐き出し方を変えられず、かつshift-jisであった。」
という状況で、日本語も混じっているデータだった為ajaxで文字化けせずに取得する方法が私には思いつかず、ajaxで対応するのを断念した、という経緯です。
その元のデータファイルがjsファイルだったので、
以下のように対応してみることに。
まず、HTML側では表示させないiframeを用意。
display: none; で対応するとsafariかなんかで上手く動作しなかたので、枠外に飛ばす事に。
a.html
次にiframe側で、読み込みたいデータ(jsファイル)を読み込み、さらにリロード(以下の例では10秒ごとにリフレッシュ)させるようにする。
b.html
※data.jsのファイルに時間の引数を付けて呼び出しているのは、キャッシュ(特にIEの)対策です。
そして、親のHTML側に関数(上の例の場合は「setTrigger(data)」)を用意して、そっちのjavascriptでやりたい処理を書けば、一応shift-jisのデータでも動的に処理出来たよ、と。
なんか強引ですねぇ。
スマートな方法があったら知りたい今日この頃
結局未解決事項
今回は元のデータファイルがjs形式だったので、このような無理矢理な方法が取れたのですが、これが普通のテキストファイルだったりxmlだったりのutf-8以外だったら、ちょっと思いつかないんですよねぇ。誰かへるぷ。
JavaScript関連リンク
サイト
Binbo-Special > 技術情報らしきもの > JavaScript
当サイトです。
OPEN SPACE様
様々な情報がありますが、javascript関連のリファレンスも充実しています。
JQUERY日本語リファレンス
jQueryに関するリファレンスサイト。見やすい!です。
書籍
Prototype & script.aculo.us JavaScriptライブラリによるAjaxアプリケーション開発
読み途中ですが、なかなか面白いです。
jQueryで作る Ajaxアプリケーション
jQueryに興味を持ったら読んでみるのも吉。


