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);
}

onreadystatechangesendに対するコールバック関数と解釈したが、何度も呼ばれるらしいし厳密には違うのかも。ステータスがセットされた状態で呼ばれるので、コールバック関数loadTextCallbackの中でステータスチェックして、ステータスに応じて処理をする。

  • サーバー上のテキストファイルを取得して表示したい。
  • フレームで2分割して、左に目次、右に本体、みたいな形で表示したい。
  • 親頁でパラメータ指定されたテキストファイル名を取得して、各子頁にそれを渡す。
  • ファイル読み出しはたぶん時間がかかる。親が1度だけ読み出すとかするべき?可能?

以上とりあえずメモです。眠いので寝ます。