|
|
||
IRC: irc://irc.opera.com/japanese <--Opera 日本語ユーザのためのIRCチャンネル。
上のがつながらない場合は irc://irc.se.opera.com/japanese
":)", ":(" などの顔文字をスキンのスマイリーに変換する UserJS。
// ==UserScript== // @name Replace Smiley // @namespace http://opera.higeorange.com/ // @inlcude * // ==/UserScript== (function() { var smiley = { ":)": "Smiley Happy", ":-)": "Smiley Happy", "=)": "Smiley Happy", ":(": "Smiley Unhappy", ":-(": "Smiley Unhappy", ";)" : "Smiley Wink", ";-)": "Smiley Wink", ":o": "Smiley Surprised", ":-O": "Smiley Surprised", ":D": "Smiley Grin", ":-D": "Smiley Grin", "8-)": "Smiley Cool", "8-D": "Smiley Cool", ":|": "Smiley Indifferent", ":-|": "Smiley Indifferent", ":'|": "Smiley Cry", ":@": "Smiley Angry", ":-@": "Smiley Angry", ":p": "Smiley Tongue", ":-P": "Smiley Tongue", "'<": "Smiley Pacman" }; var r = /([:;8\'=][-']?[\)\(oODpP\|@])|'</g; var f = '<span style=\"background-image: -o-skin(\''; var a = '\');width:-o-skin;height:-o-skin;display:inline-block"></span>' document.body.normalize(); (function search_smiley(n) { if(n.nodeType == 3) { n.parentNode.innerHTML = n.parentNode.innerHTML.replace(r, function($0) { if(smiley[$0]) { return f + smiley[$0] + a; } else { return $0; } }); } else if(n.tagName != "STYLE" && n.tagName != "SCRIPT" && n.nodeType == 1) { for(var m = n.firstChild; m != null; m = m.nextSibling) { arguments.callee(m); } } })(document.body); })();
誤爆します。とくにパックマンが危険。
この UserJS を適用したままこのページを編集しようとしたら大変なことになるな。
うは, livedor reader 表示されない…。
もっとピンポイントで適用させる方がいいなぁ。 Twitter のメッセージにとか。