素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

スクロールされるまで画像の読み込みを遅らせるGreasemonkeyスクリプト

追記:下のコードは脆弱なので、もし使用されている方がいたら一旦使用を中止してください。すいません。
大きい画像とかがある時に使えるかもしれない。

// ==UserScript==
// @name           lazyImageLoader
// @namespace      http://d.hatena.ne.jp/javascripter/
// @include        http*
// ==/UserScript==
function checkImg() {
  Array.forEach(document.images,
  function(img) {
    img = img.wrappedJSObject;
    if (check(img)) {
      img.src = img._src || img.src;

    } else if (!img._src) {
      img._src = img.src;
      img.src = '';
    }
  });
  function check(elem) {
    var pos = elem.getBoundingClientRect();
    return (pos.bottom >= 0 && pos.right >= 0) && (pos.top <= window.innerHeight && pos.left <= window.innerWidth)
  }
}
checkImg();
window.addEventListener('scroll', checkImg, false);