Большая часть этого скрипта в основном вырезана и вставлена из скриптов других людей, которые работают на них, но у меня возникла странная проблема, когда .remove
или .removeChild
не запускаются. В этот момент скрипт вылетает из движка пользовательского скрипта.
// ==UserScript==
// @name Strip Gocomics Sidebar
// @version 1
// @grant none
// @include https://www.gocomics.com/*
// ==/UserScript==
window.addEventListener('load', setkillsidebar);
function setkillsidebar() {
var interval = Math.random() * 5000 + 1000;
setTimeout(killsidebar, interval);
}
function killsidebar() {
console.log("Start Session");
// const adSidebar = document.querySelectorAll('.gc-container-fluid .layout-2col-sidebar, .gc-page-header--hero .layout-2col-sidebar');
var adSidebar = document.getElementsByClassName('.gc-container-fluid .layout-2col-sidebar, .gc-page-header--hero .layout-2col-sidebar');
console.log("Got Elements " + adSidebar.length );
if (adSidebar) {
console.log("Found SideBar");
var myParent = adSidebar.parentNode;
console.log("Made Parent");
// myParent.remove();
adSidebar.parentNode.removeChild(adSidebar);
console.log("Stripped SideBar");
var interval = Math.random() * 5000 + 1000;
console.log("Timer Time " + interval );
setTimeout(killsidebar, interval);
console.log("Set Timer");
}
}
Итак, с добавлением элементов console.log я получаю в веб-консоли Firefox следующее:
- Начать сеанс
- Получил элементы
- Найдена боковая панель
- Сделано родителем
И это обертка, у меня есть смерть либо на .remove
, либо на .removeChild
, так что либо я что-то делаю неправильно, либо у меня проблема с настройкой безопасности, которая не позволяет мне удалять элементы с веб-страниц, о которых мне никто не сказал. .
И для более интересной информации, хотя заголовок этого поста Greasemonkey, это также не работает с Tampermonkey.
P.S. Это используется в дополнение к некоторому стильному CSS, который позволяет мне иметь более крупный комический вид на маленьком мониторе. Неважно, работает Stylish или нет.