セミ

    @@ -1,12 +1,31 @@ /* * @title セミ * @description みんな、大好き。セミ - * @include http://* * @license MIT License * @require */ +function replaceText (root) { + var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { + acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT } + }, true); + while (walker.nextNode()) { + walker.currentNode.nodeValue = walker.currentNode.nodeValue. + replace(/([セゼ]ミ|蝉)/gi, "リア充"); + } +} + +var observer = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + replaceText(mutation.target); + }); +}); +observer.observe(document.body, { + characterData: true +}); + +/* document.body.addEventListener("DOMNodeInserted", (function me (e) { var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, { acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT } @@ -17,3 +36,5 @@ return me; })({ target: document.body }), false); +*/ +
  • /*
     * @title セミ
     * @description みんな、大好き。セミ
     * @license MIT License
     * @require 
     */
    
    function replaceText (root) {
    	var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, {
    		acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
    	}, true);
    
    	while (walker.nextNode()) {
    		walker.currentNode.nodeValue = walker.currentNode.nodeValue.
    			replace(/([セゼ]ミ|蝉)/gi, "リア充");
    	}
    }
    
    var observer = new MutationObserver(function (mutations) {
    	mutations.forEach(function (mutation) {
    		replaceText(mutation.target);
    	});
    });
    observer.observe(document.body, {
    	characterData: true
    });
    
    /*
    	document.body.addEventListener("DOMNodeInserted", (function me (e) {
    		var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
    			acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
    		}, true);
    
    		while (walker.nextNode()) with (walker.currentNode)
    			nodeValue = nodeValue.replace(/([セゼ]ミ|蝉)/gi, "リア充");
    
    		return me;
    	})({ target: document.body }), false);
    */
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2015/06/19 17:33:44 - 2015-06-19
  2. 2010/08/15 21:17:06 - 2010-08-15
  3. 2010/08/04 02:50:22 - 2010-08-04
  4. 2010/08/04 02:42:26 - 2010-08-04
  5. 2010/08/04 02:39:50 - 2010-08-04
  6. 2010/08/04 02:36:49 - 2010-08-04