很多这个脚本基本上是从其他人正在为他们工作的脚本中剪切和粘贴的,但是我遇到了一个奇怪的问题,.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 的 Web 控制台中得到以下信息:
- 开始会话
- 得到元素
- 找到侧边栏
- 成为父母
这是一个包装,我要么死.remove
要么.removeChild
我没有正确地做某事,或者我遇到了一个安全设置问题,它阻止我从没有人告诉我的网页中删除元素。
还有更多有趣的信息,虽然这篇文章的标题是 Greasemonkey,但 Tampermonkey 也失败了。
PS 除了一些时尚的 CSS 之外,它还被使用,它允许我在小显示器上拥有更大的漫画视图。Stylish 是否正在运行并不重要。