Pastalablog in はてな

時代はブログ! 日記もあるよ→http://pastak-diary.hatenadiary.com

今回TwitterClientGreasemonkeyを書いていて躓いたポイントとかを書いておく

躓いたポイントとか

forループ内でaddEventListenerを使う

for文の中でaddEventListenerを使う - Ulmhaftを見て解決した。

(function() {
var array = [0,1,2];

for(var i = 0;i < array.length; i++){
  var f = closure(i);
  item.addEventListener("click", f, false);
}

function test(num){
  alert(num);
}
function closure(n){
 return function(){test(n)}
}
})();

クロージャを使うことで解決。
関数に引数を渡したい場合も同様に解決できた。

insertBefore関数の使い方

これはただ単に自分が理解出来ていなかっただけだった。
今後に向けて使い方メモっておく。

Item.insertBefore(addNode,Node)
  • Item・・・挿入したい部分の親要素
  • addNode・・・挿入するノード
  • Node・・・ノードを挿入したい箇所の直後のノード

id:javascripterに教えてもらった「セキュアなGreasemonkeyを作るために意識すること」

  • unsafeWindowを使わない。
  • タグを入力する必要のない場所ではinnerHTMLではなくtextContentを使う。
  • URLを作る時にはencodeURIComponentやescapeを使おう。

正規表現

全くもって、上手く書けないのでこれからちゃんと書ける様に練習していきたい