javascriptにふれたよ
例によって基礎がわかってないまま触っているので、学習の形としてはあまりよくないです。
ページ起動時にURLを取得したり書き換えたり、ということを行ってみました。
$(document).ready(function(){ // ページ読み込み時に実行したい処理 var texturl = extractTextrul(); loadText(texturl); });
こんな感じなんですね。
$(document)
とか意味不明と思っていたけど、これはjQueryとかいう頼もしい味方らしい。
よくわからないがとりあえず後回しにしましょう。
jQueryを使わずに「ページ読み込み時に実行したい処理」を定義する方法もあるらしいがとりあえずjQuery版をコピペしてきました。
参考サイト:ページ読み込み時に実行するjavascriptについてのTips | Tips Note
extractTextrulとloadTextは自前の関数。
// サーバー上のテキストファイルを読み込み function loadText(texturl){ // オブジェクト準備 if (window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); }else{ if (window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else{ xmlHttp = null; } } // 応答時のコールバック関数を指定 xmlHttp.onreadystatechange = loadTextCallback; // オープン xmlHttp.open("GET", texturl, true); // 要求送信 xmlHttp.send(null); console.log("loadText: texturl = " + texturl); }
onreadystatechange
はsend
に対するコールバック関数と解釈したが、何度も呼ばれるらしいし厳密には違うのかも。ステータスがセットされた状態で呼ばれるので、コールバック関数loadTextCallbackの中でステータスチェックして、ステータスに応じて処理をする。
- サーバー上のテキストファイルを取得して表示したい。
- フレームで2分割して、左に目次、右に本体、みたいな形で表示したい。
- 親頁でパラメータ指定されたテキストファイル名を取得して、各子頁にそれを渡す。
- ファイル読み出しはたぶん時間がかかる。親が1度だけ読み出すとかするべき?可能?
以上とりあえずメモです。眠いので寝ます。