mangaupdates Cover Preview

Previews covers in mangaupdates.com when hovering over hyperlinks that lead to serie pages.

当前为 2020-11-27 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

作者
sz
评分
0 0 0
版本
1.7.0
创建于
2017-01-14
更新于
2020-11-27
大小
54.3 KB
许可证
http://creativecommons.org/licenses/by-nc-sa/4.0/
适用于

Derivate of novelupdate Cover Preview based on Version 1.7.0 with different starting variables
https://greasyfork.org/scripts/26439-novelupdates-cover-preview/
Now Shows Cover Previews on mangaupdates

Needed changes from novelupdates version
// ==UserScript==
// https://greasyfork.org/scripts/26513-mangaupdates-cover-preview/
// @name mangaupdates Cover Preview dev
// @namespace szMangaupdatesCoverPreview
// @include https://www.mangaupdates.com/*
// @include http://www.mangaupdates.com/*
// @version 1.7.0
// @description Previews covers in mangaupdates.com when hovering over hyperlinks that lead to serie pages.
// @inject-into content
// @grant GM_xmlhttpRequest
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_listValues
// @run-at document-end
// @license http://creativecommons.org/licenses/by-nc-sa/4.0/
// ==/UserScript==

//console.log("cover preview start");
"use strict";
//#region frontend settings
const MAXCACHEAGE = 90 * 24 * 60 * 60 * 1000; // Max Age before Cached data of serieinfo gets overridden with current data. Max Age is 90 days in milliseconds //days * h * min * sec * ms
const DEFAULTTITLEBACKGROUNDCOLOR = "#2c3e50"; //if no hijack class style available use plain color
const DEFAULTBACKGROUNDCOLOR = "#ccc"; //if no hijack class style available use plain color
let STYLESHEETHIJACKFORBACKGROUND = ".frow2"; //if unknown set empty ""; classname with leading dot seperated with comma
let STYLESHEETHIJACKFORTITLE = ".small_bold, .side_content_row"; //if unknown set empty ""; classname with leading dot seperated with comma

const PREDIFINEDNATIVTITLE = "Click for series info, Series Info"; //forum, index
const INDIVIDUALPAGETEST = "series.html?id="; // /series\.html\?id\=[0-9]*$/;
const IMAGELINKCONTAINERS = ".sContent img"; //instead of single element class name with dot
const IMAGEBLOCKER = "images/stat_increase.gif, images/stat_decrease.gif"; //tested with includes(). no need for prefixed http https in url. Can even be just the file name
const CONTAINERNUMBER = 0;
const seriePageTitle = ".releasestitle "; //.seriestitlenu
//since there are no ids or identifiable class selectable i could only grab the content by manually counting and selecting the corresponding divs
const seriePageVotes =
"#main_content > div:nth-child(2) > div > div:nth-child(3) > div:nth-child(35)"; //.seriesother > .uvotes
const seriePageStatus =
"#main_content > div:nth-child(2) > div > div:nth-child(3) > div:nth-child(20)"; //#editstatus
const seriePageGenre =
"#main_content > div:nth-child(2) > div > div:nth-child(4) > div:nth-child(5)"; //#seriesgenre
const seriePageTags =
"#main_content > div:nth-child(2) > div > div:nth-child(4) > div:nth-child(8) ul"; //#showtags
const isOnIndex =
this.location.href == "https://www.mangaupdates.com/" ||
this.location.href.startsWith("https://www.mangaupdates.com/releases.html") ||
this.location.href.startsWith("https://www.mangaupdates.com/groups.html?") ||
this.location.href.startsWith("https://www.mangaupdates.com/mylist.html") ||
this.location.href.startsWith(
"https://www.mangaupdates.com/authors.html?id="
);
const isOnReadingListIndex = this.location.href.startsWith(
"https://www.novelupdates.com/user/"
);
const targetContainerIDToObserve = "profile_content3"; //update eventlistener on list change of page isOnReadingListIndex

const preloadUrlRequests = false;
const preloadImages = false;
const eventListenerStyle = 0; //undefined/0 forEach serieLink addeventlistener(mouseenter/mouseleave) / 1 window addeventlistener(mousemove)
//#endregion