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 のページで星を付けてくれると僕が喜びます (ボソっ)