はてなスターを好きなときに読み込む

  • 画面右上に読み込みボタンをつける
    • ボタンを押すまで読み込まない
// ==UserScript==
// @include http://*
// ==/UserScript==

(function(){
  var w = (typeof unsafeWindow != "undefined") ? unsafeWindow : window;
  if (!w.Hatena || !w.Hatena.Star) return;

  var Hatena = w.Hatena;
  var Ten = w.Ten;

  var c = Hatena.Star.WindowObserver;
  c.observer.stop();
  c.observer = new Ten.Observer(window, "onload", function(){
    c.finishLoad();
    new Hatena.Star.ConfigLoader();
  });

  var loadButton = document.body.appendChild(
    Ten.Element("div", {
      style: {
        position: "fixed", top: "3px", right: "3px", "z-index": 1000,
        padding: ".2em", border: "1px solid",
        color: "black", background: "white", cursor: "pointer"
      }
    }, "\u661f\u8aad\u307f\u8fbc\u307f")
  );
  var o = new Ten.Observer(loadButton, "click", function(){
    o.stop();
    loadButton.textContent = "\u30ed\u30fc\u30c9\u4e2d...";
    setTimeout(function(){ new Hatena.Star.EntryLoader(); }, 10);
  });
  new Ten.Observer(Hatena.Star.EntryLoader, "load", function(){
    loadButton.textContent = "\u5b8c\u4e86\uff01";
    setTimeout(function(){ Ten.DOM.removeElement(loadButton); }, 1000);
  });
})();
  • はてなハイクで勝手にボタンが押されないように修正 (2008-03-01)
    • 勝手に押されなくなったので戻した (2008-03-11)