1// forEach method, could be shipped as part of an Object Literal/Module 2var forEach = function (array, callback, scope) { 3 for (var i = 0; i < array.length; i++) { 4 callback.call(scope, i, array[i]); // passes back stuff we need 5 } 6}; 7 8var emails_arr = new Array(); 9 10$(document).ready(function(){ 11 var inhalt = document.body.innerHTML; 12 var Ergebnis = inhalt.match(/stopspam_+[A-Za-z0-9]+/g); 13 14 15 if(Ergebnis && Ergebnis.length) { 16 var ss_emails = new Object(); 17 Ergebnis.forEach( function(value) { 18 ss_emails[value] = value; 19 }); 20 if(Object.keys(ss_emails).length) { 21 $.ajax({ 22 type: "POST", 23 async: true, 24 url: "/?type=1787", 25 data: {'ss_emails': ss_emails}, 26 success: function(msg){ 27 emails_arr = JSON.parse(msg); 28 Object.keys(emails_arr).forEach( function(key) { 29 var regex = new RegExp(key, "g"); 30 var regexSpan = new RegExp("<dtm-hidden>"+key+"</dtm-hidden>", "g"); 31 32 forEach(document.querySelectorAll('a[href*="' + key + '"]'), function(i, elem) { 33 elem.setAttribute("href", elem.getAttribute("href").replace(regex, emails_arr[key])); 34 var title = elem.getAttribute("title"); 35 if(title) { 36 elem.setAttribute("title", title.replace(regexSpan, emails_arr[key])); 37 } 38 elem.innerHTML = elem.innerHTML.replace(regexSpan, emails_arr[key]); 39 }); 40 41 forEach(document.querySelectorAll('dtm-hidden'), function(i, elem) { 42 if(regex.test(elem.innerHTML)) { 43 var newelem = document.createTextNode( elem.innerHTML.replace(regex, emails_arr[key]) ); 44 elem.parentNode.replaceChild(newelem, elem); 45 } 46 }); 47 48 }); 49 } 50 }); 51 } 52 } 53});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.