iKnow! を改良しよう その4 ~prototype.js~ [NT]
iKnow! を改良しよう その3 ~やりなおし~ の続き。
smart.fm の JavaScript を Venkman JavaScript Debugger でもう一度追いかけてみた。
少しだけ謎が解けた。マイリストで次へをクリックすると Ajax.Request が作られるけれども、そのリクエストの結果は Element.update である。この結果を domplate.js が eval して html として挿入している。
で、domplate は Prototype.js が呼び出している。要点は this.initialize.apply にあるっぽい。あとは bind という考え方。smart.fm の JavaScript コードは全面的に Prototype.js に依存した記述方法になっているから(Prototype JavaScript framework だから分からなくもない)、コードを読み解くためには Prototype.js の知識が必須。
これを追っかけるのはちょっと手間なので、マイリストの「次へ」などをクリックしたときに Grasemonkey を実行させるのは保留。
Grasemonkey に構っているより、他に書きたいコードがあるので...
iKnow! を改良しよう その5 へ続く。
コメント 0