ももらぼっ!にっき


2004年11月23日

_ [] 瀬戸内たびにっき完了っ!

いや〜、最後かなり端折ってる気がするけどなんとか瀬戸内たびにっきを完了。

結局、 倉敷岡山高松松山広島宮島尾道 と回ってきた。 改めて思い出してみると、結構濃い旅行だったようだ。

もう、こんな気ままな長期旅行をする機会もないだろうなぁ。。。

_ [JavaScript][Tips] スクリプトファイルからスクリプトファイルをロードする。

HTMLファイルからスクリプトファイルを読み込む際、以下のようにするが、 いくつものスクリプトファイルを必要とする場合、読み込みの記述だけでも結構な量になってしまう。

<!-- いっぱいあって大変! -->
<scrpt language="JScript" src="hoge.js">
<scrpt language="JScript" src="hoge2.js">
<scrpt language="JScript" src="hoge3.js">
<scrpt language="JScript" src="hoge4.js">
<scrpt language="JScript" src="hoge5.js">

この記述をたくさんある(と思われる)HTMLそれぞれに書いていくのはかなり苦痛だ。

まぁ、私らプログラマさんは CGI とかで動的にHTMLを生成するため、例えばこんな感じにすればよいので問題は少ない。

//どこか共通処理として以下を記述し…
<% Sub LoadScripts() %>
  <scrpt language="JScript" src="hoge.js">
  <scrpt language="JScript" src="hoge2.js">
  <scrpt language="JScript" src="hoge3.js">
  <scrpt language="JScript" src="hoge4.js">
  <scrpt language="JScript" src="hoge5.js">
<% End Sub %>
//各HTMLではそれを呼び出す。
<%= LoadScripts() %>

しかし、なんらかの理由でサーバサイドの処理を記述できない場合、この方法では解決できない。

で、考えたのが JScript でムリヤリ SCRIPT 要素を生成してしまう方法である。 意外とうまくいったので以下にあげる。

//共通のスクリプトファイル
/**
 * スクリプトファイルロード処理
 * @param fileName スクリプトファイル名
 */
function loadScript(fileName) {
  with (window.document) {
    var script = createElement("SCRIPT");
    script.src = fileName;
    all.tags("HEAD")[0].appendChild(script);
  }
}
//ロード処理
loadScript("hoge.js");
loadScript("hoge2.js");
loadScript("hoge3.js");
loadScript("hoge4.js");
loadScript("hoge5.js");

このファイルをロードするだけで、実際にはhoge.js〜hoge5.jsが読み込まれてくれる。

最近、HTML+JavaScriptだけで今回開発予定のWebシステムのモックアップを作成している。 他にも有用そうなスクリプトネタを集められたので、時間を見つけて公開できればと思っている。

_ うぅ。

久々に日記更新すると、いまいち自分の文体がつかめない…。 mixiでは違う口調で書いているから余計だよ(T-T)

まぁ、Tips系はあんな感じのちょい硬い書き方でもいいのかな?