Guest User

Untitled

a guest
Jun 13th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        OnionAborn
  3. // @namespace   http://localhost
  4. // @description No Drug No Spam
  5. // @include     http://xiwayy2kn32bo3ko.onion/ura/subback.html
  6. // @version     1
  7. // @grant       none
  8. // ==/UserScript==
  9. (function () {
  10.     //NGワード
  11.   const ng_words = ["発送","アイス","クリスタル","氷","キメ","キメ","配達","お待ち","お電話","手押し","支払い","連絡","営業","都内","野菜","八百屋"];
  12.   var onionaborn = function(node){
  13.     var textData = document.evaluate("//a[@href]/text()", node, null, 6, null);
  14.     var elementBr = document.getElementsByTagName("br");
  15.     var i, j, lenNG, txt;
  16.     for (i=textData.snapshotLength - 1; 0<=i; --i) {
  17.       txt = textData.snapshotItem(i).nodeValue;
  18.       for (j=0, lenNG=ng_words.length; j<lenNG; j++){
  19.         if(txt.indexOf(ng_words[j]) >= 0){
  20.           //NGの空白化
  21.           textData.snapshotItem(i).nodeValue = "";
  22.           //<br>要素の削除
  23.           elementBr[i].parentNode.removeChild(elementBr[i]);
  24.           break;
  25.         }
  26.       }
  27.     }
  28.   };
  29.  
  30.   var nodeText = document.evaluate('//text()', document, null, 6, null);
  31.   var nodePre = document.evaluate('//pre', document, null, 6, null);
  32.   if (nodeText.snapshotLength===1 && nodePre.snapshotLength===1){
  33.     var del = nodeText.snapshotItem(0);
  34.     var lines = del.nodeValue.split(/\r?\n/);
  35.     var ins = document.createElement('pre');
  36.     ins.style.whiteSpace = 'pre-wrap';
  37.     del.parentNode.replaceChild(ins, del);
  38.     var i, len;
  39.     for(i=0, len=lines.length; i<len; i++){
  40.       ins.appendChild(document.createTextNode(lines[i]));
  41.       ins.appendChild(document.createElement('br'));
  42.     }
  43.   }
  44.  
  45.   onionaborn(document);
  46.   document.addEventListener('DOMNodeInserted', function(e){ onionaborn(e.target); }, false);
  47.   document.addEventListener('DOMCharacterDataModified', function(e){ onionaborn(e.target); }, false);
  48.   document.addEventListener('DOMAttrModified', function(e){ onionaborn(e.target); }, false);
  49. })();
Add Comment
Please, Sign In to add comment