您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Choose your favourites from a dropdown on any page, just like Bierdopje!
// ==UserScript== // @name Seriesfeed Favourites Dropdown // @namespace https://www.seriesfeed.com // @version 1.3 // @description Choose your favourites from a dropdown on any page, just like Bierdopje! // @match https://www.seriesfeed.com/* // @grant unsafeWindow // @grant GM.xmlHttpRequest // @require https://code.jquery.com/jquery-3.3.1.min.js // @author Tom // @copyright 2018+, Tom // ==/UserScript== /* jshint -W097 */ /* global $, console, GM */ 'use strict'; /* Maybe in the future: - Cache favourites for quicker loading > add/remove to cache when adding/removing a favourite. - Enable keyboard input to select a favourite from the list. */ $(() => { const _baseUrl = "https://www.seriesfeed.com"; const username = getUsername(); const starDropdown = getStarDropdown(); $('.main-menu .new-message').after(starDropdown.topLevel); const loader = getLoader(); starDropdown.dropdown.append(loader); ajaxGet(`${_baseUrl}/users/${username}/favourites`) .then((page) => { const favouriteRows = $(page).find("#favourites tr:gt(0)"); favouriteRows.each((index, favouriteRow) => { const favName = $(favouriteRow).find("td:nth-child(2) a").text(); const favSlug = $(favouriteRow).find("td:nth-child(2) a").attr("href"); const isFinishedShow = $(favouriteRow).find("td:nth-child(3)").text() === "Afgelopen"; const showItem = $("<li/>").append($("<a/>").attr("href", _baseUrl + favSlug).text(favName)); if (isFinishedShow) { showItem.css({ opacity: 0.5 }); } starDropdown.dropdown.append(showItem); }); loader.remove(); }); function getUsername() { const userLink = $('.main-menu .profile-li .main-menu-dropdown li:first-child a').attr('href'); const userLinkParts = userLink.split('/'); return userLinkParts[2]; } function getStarDropdown() { const topLevel = $("<li/>").addClass("top-level upper favourites-li"); const topLevelToggle = $("<a/>").addClass("top-level-toggle").click(function() { $(this).toggleClass("open"); }); const starIcon = $("<i/>").addClass("fa fa-star-o"); topLevel.append(topLevelToggle); topLevelToggle.append(starIcon); const mainMenuDropdown = $("<ul/>").addClass("main-menu-dropdown"); const scrollContainer = $("<li/>").addClass("scrollContainer"); const scrollContainerUl = $("<ul/>"); topLevel.append(mainMenuDropdown); mainMenuDropdown.append(scrollContainer); scrollContainer.append(scrollContainerUl); return { topLevel: topLevel, dropdown: scrollContainerUl }; } function getLoader() { const spinnerIcon = $("<i/>").addClass("fa fa-spinner fa-spin"); return $("<h3/>").addClass("text-center").css({ marginTop: "9px" }).append(spinnerIcon); } function ajaxGet(url) { return new Promise((resolve, reject) => { GM.xmlHttpRequest({ method: "GET", url: url, onload: (pageData) => { resolve(pageData.responseText); }, onerror: (error) => { reject(error); } }); }); } });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址