Greasy Fork

Highlight Unread Novel

Highlight Unread Novel On Kakuyomu Narou Alphapolis Favorite Page

目前为 2024-03-20 提交的版本。查看 最新版本

// ==UserScript==
// @name           Highlight Unread Novel
// @namespace      https://greasyfork.org/en/users/1264733
// @version        2024-03-20
// @description    Highlight Unread Novel On Kakuyomu Narou Alphapolis Favorite Page
// @author         LE37
// @license        MIT
// @include        https://kakuyomu.jp/my/antenna/works
// @include        https://syosetu.com/favnovelmain/list/
// @include        https://www.alphapolis.co.jp/mypage/notification/index/110000*
// @grant          none
// ==/UserScript==

(()=>{
	'use strict';
	// Unread Number
	const urNum = 3;
	// Unread Color
	const urColor = "red";
	let oUnread, no;
	switch (location.host) {
		case "kakuyomu.jp":
			oUnread = "li.widget-antennaList-unreadEpisodeCount b";
			Direct();
			break;
		case "syosetu.com":
			oUnread = "span.p-up-bookmark-item__unread-num";
			Direct();
			break;
		case "www.alphapolis.co.jp":
			oUnread = "div.content-main";
			Calculate();
			break;
	}
	function Direct() {
		no = document.querySelectorAll(oUnread);
		for(let i = 0; i < no.length; i++) {
			if (parseInt(no[i].textContent) > urNum) {
				no[i].parentElement.style.color = urColor;
			}
		}
	}
	function Calculate() {
		no = document.querySelectorAll(oUnread);
		for(let i = 0; i < no.length; i++) {
			const total = no[i].querySelector("a.total");
			const tn = parseInt(total.textContent.match(/[0-9]+/)[0]);
			const current = no[i].querySelector("a.disp-order");
			const cn = current ? parseInt(current.textContent.match(/[0-9]+/)[0]) : 0;
			const alter = current ? current : no[i].querySelector("h2.title a");
			if (tn - cn > urNum) {
				alter.style.color = urColor;
			}
		}
	}
})();