階段・歌・女の子一人と男一人・鼻づまり・点媚薬・食事・アイス

  1. トップ
  2. life

now playing に Top Artists 表示してみる。データは Audioscrobbler からひっぱってくる。データの更新は今のところ手動。そんなに更新されないし。一日に一回 cron で動かしてもいいかもしれない。

Top Tracks も表示してみる。ごちゃごちゃしてきた。いらんかもしれない。

ちなみに何故か統計情報を XML やらテキストデータやらで取得できないので普通に正規表現で抜いてくることにしてみた。

  1. トップ
  2. web
  3. Audioscrobbler Top Artists
  1. トップ
  2. music
  3. Audioscrobbler Top Artists
  1. トップ
  2. prog
  3. Audioscrobbler Top Artists

イテレータってのは Ruby の [1, 2, 3].each {|item| puts item } ですけど、ふと思いついたので ECMAScript (Javascript) でイテレータっぽいもの作ってみる。関数もオブジェクトも同じ(() つければ実行できる)らしいので(prototype 型 OOP とかむしろ OOP とかわかんねぇんですが)関数を引数に渡せばいいわけで(ry

function Array_each(func) {
for (var i = 0, len = this.length; i < len; i++) {
func(this[i]);
}
}
Array.prototype.each = Array_each;
[1, 2, 3, 4].each(function (i) {
alert(i);
});

はいはい。誰でもわかりますね。「なんだデキンジャン!」とか喜んだ俺はバカですね。くそ。まぁ美しくはないですけども……

  1. トップ
  2. prog
  3. ECMAScript でイテレータ

IE で script 要素を書くと全くレンダリングされないのだけれど、どうしてだろう? もちろん Gecko と Opera なら大丈夫だし、script 要素を消せば表示される。ためしに XML 宣言, html, head, script, body, h1 要素だけで試したけど表示されなかった。謎すぎ……

ってあー。書く前に散々悩んだのに書いてから気付いた。script 要素の閉じタグがないとだめなんだ……あぁもう

  1. トップ
  2. web
  3. script on IE
  1. トップ
  2. soft
  3. script on IE

また前触れなく完全にハングした。今回は画面の切り替えとかじゃなかった気がする。ただたんに画面の切り替えのときに起こりやすいだけかもしれない。スキャンディスクしてみた(させられた)けどエラーなし。誰かたすけt

  1. トップ
  2. soft
  3. またハング

Gecko の getElementsByTagName がおかしいなぁ。document.getElementsByTagName("*") の結果が少ない。具体的には body とその中身が入ってない。html, html/head, html/head/* だけ。おかしい。

そもそも document.documentElement.childNodes に body が含まれていない。DOM 上から抹消されとる。

わかった! document.documentElement.childNodes が実行される時点では DOM に body 以下が読み込まれていないんだ。

はぁ…… Opera は Event.srcElement 持ってるくせして中身がないっぽい。よう知らんけど fromElement がメンバにあるか (in) 調べればいいらしい……クライアントサイドなんて……

  1. トップ
  2. prog
  3. getElementsByTagName on Gecko