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

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

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

position:fixedを使わないようにするAutoPageLoaderプラグイン

Firefox2のposition:fixedが重たいらしい話とAutoPagerize - 0xFFのAutoPageLoader用を書いた。

// ==UserScript==
// @name           AutoPageLoaderNotFixed
// @namespace      http://d.hatena.ne.jp/javascripter/
// @include        http*
// ==/UserScript==

(function () {
  if (!('AutoPagerize' in window)) return;
  /*
  try {
    var icon = eval('Icon._icon', window.AutoPagerize.addFilter);
  } catch (e) {
    return;
  }
  */
  var icon = document.getElementById('autopagerize_icon');
  if (icon == null) return;
  icon.style.position = 'absolute';
  var tid = setInterval(function () {
    if (icon.parentNode == null) {
      clearInterval(tid);
      return;
    }
    icon.style.top = window.scrollY + 5 + 'px';
  }, 1000);
})();

evalを使ってアイコンを横取りしようと思ったが、idが振ってるのでdocument.getElementByIdで十分だった。
アイコンがremoveChildでdocumentから削除されているかどうかは、parentNodeがnullかどうかで分かる。