セミ
by
cho45
2015-06-19 [2015/06/19 17:33:44]
みんな、大好き。セミ
@@ -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 です。