Hatena::ブログ(Diary)

by edvakf in hatena

2010-01-30

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

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


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

f:id:edvakf:20100130144827p:image

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


インストール


↓ソース


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

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

TERRAZITERRAZI 2010/10/08 17:49 CPUを全部もっていってしまう状況に遭遇しました。
http://f.hatena.ne.jp/TERRAZI/20101008174629
7.0.544.0
Windows Vista 32bit
でタブを38枚開いてます。

edvakfedvakf 2010/10/08 23:17 かなーり重い処理をしてますからね。処理が追いつかないときには「Opera をお使いください」という案内を出すというのはどうでしょう。

nana 2015/01/17 06:16 0〜256だと3byteで足らんです

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証