Skip to content

Instantly share code, notes, and snippets.

@rlemon
Last active August 29, 2015 14:27
Show Gist options
  • Save rlemon/8a34a1c7d95d9685170a to your computer and use it in GitHub Desktop.
Save rlemon/8a34a1c7d95d9685170a to your computer and use it in GitHub Desktop.
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
});
'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