Last active
August 29, 2015 14:27
-
-
Save rlemon/8a34a1c7d95d9685170a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NodeList.prototype[Symbol.iterator] = [][Symbol.iterator]; | |
const parseNode = node => { | |
if (node.classList && node.classList.contains('user-container')) { | |
for( let message of node.querySelectorAll('.content')) { | |
let links = message.querySelectorAll('a'); | |
// replace reddit\.com with whatever domain you want to bitch about needlessly | |
let re = /^https?:\/\/([^\/]*\.)?reddit\.com(\/.*|$)/i; | |
for( let link of links ) { | |
if( re.test(link.href) ) link.textContent = '[WARNING!!! TRIGGER!!!]'; | |
} | |
}; | |
} | |
}; | |
for(let node of document.querySelectorAll('#chat .user-container')) parseNode(node); | |
new MutationObserver(records => records.forEach(record => [].forEach.call(record.addedNodes, parseNode))).observe(chat, { | |
childList: true, | |
subtree: true | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
NodeList.prototype[Symbol.iterator] = [][Symbol.iterator]; | |
var parseNode = function parseNode(node) { | |
if (node.classList && node.classList.contains('user-container')) { | |
var _iteratorNormalCompletion = true; | |
var _didIteratorError = false; | |
var _iteratorError = undefined; | |
try { | |
for (var _iterator = node.querySelectorAll('.content')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | |
var message = _step.value; | |
var links = message.querySelectorAll('a'); | |
var re = /^https?:\/\/([^\/]*\.)?reddit\.com(\/.*|$)/i; | |
var _iteratorNormalCompletion2 = true; | |
var _didIteratorError2 = false; | |
var _iteratorError2 = undefined; | |
try { | |
for (var _iterator2 = links[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { | |
var link = _step2.value; | |
if (re.test(link.href)) link.textContent = '[WARNING!!! TRIGGER!!!]'; | |
} | |
} catch (err) { | |
_didIteratorError2 = true; | |
_iteratorError2 = err; | |
} finally { | |
try { | |
if (!_iteratorNormalCompletion2 && _iterator2['return']) { | |
_iterator2['return'](); | |
} | |
} finally { | |
if (_didIteratorError2) { | |
throw _iteratorError2; | |
} | |
} | |
} | |
} | |
} catch (err) { | |
_didIteratorError = true; | |
_iteratorError = err; | |
} finally { | |
try { | |
if (!_iteratorNormalCompletion && _iterator['return']) { | |
_iterator['return'](); | |
} | |
} finally { | |
if (_didIteratorError) { | |
throw _iteratorError; | |
} | |
} | |
} | |
; | |
} | |
}; | |
var _iteratorNormalCompletion3 = true; | |
var _didIteratorError3 = false; | |
var _iteratorError3 = undefined; | |
try { | |
for (var _iterator3 = document.querySelectorAll('#chat .user-container')[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { | |
var node = _step3.value; | |
parseNode(node); | |
} | |
} catch (err) { | |
_didIteratorError3 = true; | |
_iteratorError3 = err; | |
} finally { | |
try { | |
if (!_iteratorNormalCompletion3 && _iterator3['return']) { | |
_iterator3['return'](); | |
} | |
} finally { | |
if (_didIteratorError3) { | |
throw _iteratorError3; | |
} | |
} | |
} | |
new MutationObserver(function (records) { | |
return records.forEach(function (record) { | |
return [].forEach.call(record.addedNodes, parseNode); | |
}); | |
}).observe(chat, { | |
childList: true, | |
subtree: true | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment