Anyone can be a B!KUMA Girl

    @@ -5,22 +5,6 @@ * @license MIT License */ -// ==UserScript== -// @name anyone can be a b!kuma girl -// @namespace -// @description b!kumanize all icons -// @include http://b.hatena.ne.jp/* -// @grant none -// @run-at document-end -// @version 2014.11.13 -// @homepage -// @downloadURL -// @author yuta25 -// @license MIT License http://opensource.org/licenses/MIT -// @icon http://f.st-hatena.com/images/fotolife/h/hatenapr/20111228/20111228162520.png -// @icon64 http://f.st-hatena.com/images/fotolife/h/hatenapr/20111228/20111228162520.png -// ==/UserScript== - (function() { var BKUMA = 'http://f.st-hatena.com/images/fotolife/h/hatenapr/20111228/20111228162520.png'; var bkumanize = function(node) {
  • /*
     * @title Anyone can be a B!KUMA Girl
     * @description B!KUMANIZE everyone's icon
     * @include http://b.hatena.ne.jp/*
     * @license MIT License
     */
    
    (function() {
      var BKUMA = 'http://f.st-hatena.com/images/fotolife/h/hatenapr/20111228/20111228162520.png';
      var bkumanize = function(node) {
        function changeIcon(img) {
          if (img.src.match(/^http:\/\/cdn1\.www\.st\-hatena\.com\/users\/.*\.gif$/)) {
            img.src = BKUMA;
          }
        }
        node = node || document;
        if (typeof (node.querySelectorAll) !== "undefined") {
          if (node.npodeName === "IMG") {
            changeIcon(node);
          } else {
            Array.prototype.forEach.call(node.querySelectorAll('img'), function(img) {
              changeIcon(img);
            });
          }
        }
      };
      bkumanize();
      // c.f. MutationObserver
      // https://developer.mozilla.org/en/docs/Web/API/MutationObserver
      var observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
          for (var i = 0; i < mutation.addedNodes.length; i++) {
            bkumanize(mutation.addedNodes[i]);
          }
        });
      });
      observer.observe(document, {childList: true, subtree: true});
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2014/11/13 17:38:54 - 2014-11-13
  2. 2014/11/13 14:00:37 - 2014-11-13
  3. 2014/11/13 14:00:20 - 2014-11-13
  4. 2014/11/13 13:48:22 - 2014-11-13
  5. 2014/11/13 13:41:16 - 2014-11-13