I created a chrome extension which is used to block advertisements elements from some websites. My content script is as below:
var selectors = [
...
];
for(var i in selectors){
if(selectors.hasOwnProperty(i)){
var elements = document.querySelectorAll(selectors[i]);
console.log('elements: ', elements);
for (var k in elements) {
if (elements.hasOwnProperty(k)) {
elements[k].parentElement.removeChild(elements[k]);
}
}
}
}
when I wrap the code in document.addEventListener("DOMContentLoaded", function() {}
, it shift the content and when I don't wrap the code in DOMContentLoaded
the elements list is empty.
what should I do to remove the advertisement element without content shift?