Better GoComics.com

Remove a bunch of cruft from GoComics.com, and add a link to the raw comic image

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        Better GoComics.com
// @namespace   https://greasyfork.org/en/users/324881-tehhund
// @version     12
// @description Remove a bunch of cruft from GoComics.com, and add a link to the raw comic image
// @author      Tehhund
// @match       *://gocomics.com/*
// @match       *://*.gocomics.com/*
// @grant       none
// @run-at      document-idle
// ==/UserScript==

const linkToRawComic = () => {
  let button = [...document.getElementsByTagName("a")].filter((tag) => {
    return (tag.innerText.includes("Random"));
  })[0].cloneNode(true);
  //button.href = images[0].src;
  button.innerText = "Direct link to comic";
  button.id = "linkToRawComic";
  button.onclick = getHref;
  button.style.marginBottom = "0.2rem";
  let wrapperDiv = document.createElement("div");
  wrapperDiv.appendChild(button);
  //document.getElementsByClassName("gc-calendar-nav__next")[0].appendChild(button);
  //document.getElementsByClassName("gc-calendar-nav__select")[0].appendChild(button);
  document.getElementsByClassName("gc-calendar-nav")[0].prepend(wrapperDiv);
};
document.addEventListener("load", linkToRawComic);

const getHref = () => {
  let images = [...document.getElementsByTagName("img")];
  images = images.filter((image) => {
    return (image.className.includes("img-fluid") && image.className.includes("lazyloaded")) && !image.className.includes("lazyautosizes");
  });
  let button = document.getElementById("linkToRawComic");
  button.href = images[0].src;
}

const removeElements = () => {
  try { document.getElementsByClassName('gc-site-header')[0].remove(); } catch (e) { }
  try { document.getElementById('leaderboard_feature_item').remove(); } catch (e) { }
  try { document.getElementsByClassName('gc-feature-header')[0].remove(); } catch (e) { }
  try { document.getElementsByClassName('gc-page-container')[0].style.marginTop = '0'; } catch (e) { }
  try { document.getElementsByClassName('mt-5')[0].remove(); } catch (e) { }
  try { document.getElementsByClassName('nav')[0].remove(); } catch (e) { }
  try { document.getElementsByClassName('col-12')[0].remove(); } catch (e) { }
  try { document.getElementsByClassName('comic__buy-button')[0].remove(); } catch (e) { }
  try { linkToRawComic(); } catch (e) { }
};
document.addEventListener("load", removeElements);

setTimeout(removeElements,0);