Skip to content

Instantly share code, notes, and snippets.

@ishowta
Last active February 25, 2020 11:39
Show Gist options
  • Save ishowta/2e6ae930cea001f66aed40a64e74f930 to your computer and use it in GitHub Desktop.
Save ishowta/2e6ae930cea001f66aed40a64e74f930 to your computer and use it in GitHub Desktop.
Remove any rating display from Web
function run(nodes){
nodes.forEach(function(node){
if(typeof node.querySelectorAll !== "function") return;
document.querySelectorAll("*[class*=star]").forEach(function(e){e.remove()})
document.querySelectorAll("*[class*=rating]").forEach(function(e){e.remove()})
})
}
run([document])
// https://stackoverflow.com/questions/3219758/detect-changes-in-the-dom
var observeDOM = (function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
return function( obj, callback ){
if( !obj || !obj.nodeType === 1 ) return; // validation
if( MutationObserver ){
// define a new observer
var obs = new MutationObserver(function(mutations, observer){
callback(mutations);
})
// have the observer observe foo for changes in children
obs.observe( obj, { childList:true, subtree:true });
}
else if( window.addEventListener ){
obj.addEventListener('DOMNodeInserted', callback, false);
obj.addEventListener('DOMNodeRemoved', callback, false);
}
}
})();
// Observe a specific DOM element:
observeDOM( document, function(m){
var addedNodes = [], removedNodes = [];
m.forEach(record => record.addedNodes.length & addedNodes.push(...record.addedNodes))
m.forEach(record => record.removedNodes.length & removedNodes.push(...record.removedNodes))
// console.clear();
// console.log('Added:', addedNodes, 'Removed:', removedNodes);
nodes = addedNodes.concat(removedNodes);
run(nodes);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment