Как я могу навсегда удалить элемент с каждой веб-страницы?
Я использую Safari на Mac с OSX El Capitan, и мне нужен способ навсегда удалить элемент с каждой веб-страницы в домене.
Я не хочу временно вносить изменения. Я бы хотел, чтобы мой ответ работал в Safari, я должен сказать это дважды, потому что глупые редакторы и другие пользователи продолжают указывать мне на неприменимые решения для Firefox здесь.
т.е. https://www.google.com/search?num=100&client=safari&rls=en&q=test&oq=test
все еще имеет тот же элемент заблокирован как https://www.google.com/
Я знаю о расширениях, которые делают это для Firefox - " Удалить это навсегда" и " Еще один удалить это навсегда" - но есть ли способ сделать это в Safari, или потребуется ли расширение для выполнения этой задачи?
1 ответ
Один из способов сделать это - использовать расширение, позволяющее добавлять сценарии на веб-страницу.
Я использовал расширение Quickscript для Safari. Я создал следующий скрипт для запуска и удаления по имени класса каждый раз, когда открываю веб-страницу:
removeElementsByClass('<className to delete>');
function removeElementsByClass(className){
var elements = document.getElementsByClassName(className);
while(elements.length > 0){
elements[0].parentNode.removeChild(elements[0]);
}
}
Другой способ - удалить по идентификатору элемента.
removeElementsById('<id to delete>');
function removeElementsById(id){
var elements = document.getElementById(id);
while(elements.length > 0){
elements[0].parentNode.removeChild(elements[0]);
}
}
Это также может быть достигнуто путем создания функции с использованием jquery.
removeElementsById('#<id to delete>');
removeElementsByClass('.<className to delete>');
function removeElementsByClass(className){
$(className).remove();
}
function removeElementsById(id){
$(id).remove();
}
Примечание. Это решение не зависит от браузера и ОС. Для этого нужно только найти расширение, позволяющее запускать скрипты на сайтах.
Пользовательский JavaScript для веб-сайтов будет работать с Chrome.