Mastodon ⇒ Kasgadon

    @@ -6,31 +6,22 @@ * @javascript_url */ -{ +((d = document, b = d.body, r, x, i, n) => { -const replaceText = root => { +(r = t => { - const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { - acceptNode : node => NodeFilter.FILTER_ACCEPT - }, true); - - while (walker.nextNode()) { - walker.currentNode.nodeValue = walker.currentNode.nodeValue. - replace(/(トゥート|トゥート)[!!]?/g, 'トゥース!'); - } - -}; - -const observer = new MutationObserver(mutations => { - mutations.forEach(mutation => replaceText(mutation.target)); + // ぺけぱすが速いんだって + // http://javascripter.hatenablog.com/entry/20080722/1216745359 + x = d.evaluate('.//text()', t.target, null, 6, x); + for (i = 0; i < x.snapshotLength; i++) + (n = x.snapshotItem(i)).nodeValue = n.nodeValue + .replace(/(トゥート|トゥート)[!!]?/g, 'トゥース!'); + +})({ target: b }); + +new MutationObserver(s => s.forEach(r)).observe(b, { + childList: 1, + subtree: 1 }); -observer.observe(document.body, { - childList: true, -// characterData: true, - subtree: true -}); - -replaceText(document.body); - -} +})();
  • /*
     * @title Mastodon ⇒ Kasgadon
     * @description マストドンがカスガドンになります。
     * @include *
     * @license MIT License
     * @javascript_url
     */
    
    ((d = document, b = d.body, r, x, i, n) => {
    
    (r = t => {
    
    	// ぺけぱすが速いんだって
    	// http://javascripter.hatenablog.com/entry/20080722/1216745359
    	x = d.evaluate('.//text()', t.target, null, 6, x);
    	for (i = 0; i < x.snapshotLength; i++)
    	 (n = x.snapshotItem(i)).nodeValue = n.nodeValue
    	 .replace(/(トゥート|トゥート)[!!]?/g, 'トゥース!');
    
    })({ target: b });
    
    new MutationObserver(s => s.forEach(r)).observe(b, {
     childList: 1,
     subtree: 1
    });
    
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/04/18 16:32:48 - 2017-04-18
  2. 2017/04/15 15:45:26 - 2017-04-15
  3. 2017/04/15 15:45:18 - 2017-04-15