-
000381
最近ちょっと思い立って,久し振りに JavaScript をいじっているのですが,JavaScript でいつも問題になるのが実行時のログ取得です.
Mozilla ならば,URI 欄に "javascript:" と入力して Enter を押すと JavaScript Console が起動してくれます. エラーや警告が順に表示されるので,これはこれで便利. でも,開発者が自由にログを表示させることは出来ません.
もうひとつ考えられる方法は alert 関数です. これは JavaScript のビルドインで,呼ばれるごとにメッセージウィンドウがポップアップします. alert 関数をコードの必要な箇所に埋めておけば,自由にログを表示させられます. しかし問題があって,このウィンドウが表示されるごとにいちいち実行が停止します. 大量のログを吐かせる用途には向きません.
そこで今回,ロギング用ユーティリティを作ってみました.
log4js.jsコードを覗いてもらえればわかるけれど,かなり単純かつ強引です. でもまぁ,ログ取得の目的は達せられますし,実行を止めることもありません. ただ,パフォーマンスにはかなり影響を及ぼすようです. ここは,今のところ対処しようがなかったのでご了承ください.
使い方はコード中にもコメントで書いてありますが,一応説明.
- コード中に
<script src="log4js.js" type="text/javascript" language="JavaScript"></script>
を記述. - 上記コードを記述したページを Web ブラウザで開く
- ログウィンドウがポップアップ
- log ( p_message ) 関数が呼ばれるごとにログを表示
[ permalink ] [ 0 comment(s) ] - コード中に
-
000246
修論も提出し終えたので,前から気になっていたこのサイトの "new" 表示のロジックを見直しました.そこで必要になったのが,java.util.Map に相当する機能です.Array が惜しかったのだけれど,マッピングの状態を保存できないので今回は使えません.
まぁ,この程度の機能ならそれほど手間はかからないだろうと思い,実装してみました.
Map.jsjava.util.Map の機能のうち,
- put
- get
- remove
- containsKey
- containsValue
- clear
今回はこれに加えて,キー,値がすべて文字列か数字の場合にのみ使える,マッピングの状態を保存する機能を実装しました.toString () でマッピングの内容を文字列化し,同じ文字列をコンストラクタの引数に与えることでマッピングを再現できます.あまり凝った使い方は試していませんが,Cookie に保存するくらいであれば大丈夫でした.
ニーズがないような気もしますが,もしよろしければ持っていってお使いくだされ.
[ permalink ] [ 0 comment(s) ] -
000234
先ほど酒の席で話した,ある標高から見渡せる距離の話です.文体が気取っていてこっぱずかしいのですが,ひとまず以前授業で書いた匿名コラムをアップします.どういうモデルで計算しているかはこれを参照してしてください.
初日の出を早く見たければ,山へ登ろう [2003-01-07]
で,実際に数字を入力して見渡せる距離を計算するスクリプトを組んでみました.裏のロジックは上の文章内にあるとおりです.
[ permalink ] [ 4 comment(s) ] -
000231
再び JavaScript で文字コードをいじってみました.
W3C XML1.0 の仕様の付録 などには,Unicode で記述された導出規則があるのですが,実際どんな文字にマップされているのかが判りにくいので,JavaScript で無理矢理表示させてみました.
テキストエリアに導出規則を貼ってください.現在のところ,対応しているのは以下の二つ書式のみです.
- #xN
- [#xN-#xN]
IE では動かないようです.mozilla1.6 で動作確認済み.
[ permalink ] [ 0 comment(s) ] -
000211
実験で文字コード表が必要になったのですが,
Google でうまく見つけられませんでした.
ならば,と,作ってみましたので,
よろしければお使いください.おそらく,
HTML 4.01 Specification
の
24 Character entity references in HTML 4
あたりに基づいているはずです.すべてクライアントサイドで生成するので,
ちょっと重いかもしれませんが,
落ちることはないはずです.[ permalink ] [ 5 comment(s) ]