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

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

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

はてブの非表示ユーザーを共有し、自動でデータを取得するGreasemonkeyスクリプト

のデータを使って、
はてブの管理画面(http://b.hatena.ne.jp/自分のユーザーID/config)の、詳細設定の非表示ユーザーのところに「Webから取得」というボタンをつけて、クリックしたら自動的に取ってきてくれるGreasemonkeyスクリプト。

// ==UserScript==
// @name           GetHatenaBookmarkIgnoreUsers
// @namespace      http://d.hatena.ne.jp/javascripter/
// @include        http://b.hatena.ne.jp/*/config
// ==/UserScript==
(function() {
  var [ignore] = document.getElementsByName('ignore_users');
  var button = document.createElement('input');
  button.type = 'button';
  button.value = 'Webから取得';
  ignore.parentNode.appendChild(button);

  button.addEventListener('click',
  function(e) {
    button.disabled = true;
    setTimeout(function() { button.disabled = false; }, 3000);
    GM_xmlhttpRequest({
      method: 'get',
      url: 'http://anond.hatelabo.jp/20080709220323',
      onload: function(res) {
        var tmp = document.createElement('div');
        tmp.innerHTML = res.responseText;
        var [elem] = tmp.getElementsByTagName('blockquote');
        if (elem) {
          var text = elem.textContent.replace(/[\s\n]/g, '');
          if (confirm('非表示ユーザーを置き換えます。よろしいですか?')) {
            ignore.value = text;
          }
        }
        button.disabled = false;
      },
      onerror: function() {
        button.disabled = false;
      }
    });
  },
  false);
})();