ChromeでGIFアニメーションを止める

Chrome だって Opera みたいにアニメーション画像を止めたい!


ってなことで、XMLHttpRequest でバイナリを読み込む方法で GIF アニメーションの1フレームだけを取り出して、data:URL にする方法でやってみた。

止めた画像の上では、カーソルがこういうアイコンになって、クリックするとまた動きだす。


↓インストール


↓ソース


ちょっと大きな画像になると

replace(/[\u0100-\uffff]/g, function(c){
  return String.fromCharCode(c.charCodeAt(0) & 0xff);
})

の部分が1秒近くかかってしまうことがあるのが悩みどころ…何か良い方法はないだろうか。

それから、DOMNodeInserted とか DOMAttrChanged を監視してるので、Chrome を遅くする可能性もある。承知の上で使ってね。


GIF の仕様はこちらを参考にした。

GIF Header のところで "Global Color Table(0〜255×3B)" と書いてあるのは、"Global Color Table(0〜256×3B)" の誤りですね。


もし気に入ってくれたら、Extension のページで星を付けてくれると僕が喜びます (ボソっ)