您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Picks 1,5 or 10 random anime from a users MAL anime list or manga list
- // ==UserScript==
- // @name MAL Randomizer
- // @version 2.5
- // @license MIT
- // @description Picks 1,5 or 10 random anime from a users MAL anime list or manga list
- // @match *://myanimelist.net/animelist/*
- // @match *://myanimelist.net/mangalist/*
- // @grant GM_addStyle
- // @namespace https://gf.qytechs.cn/users/231681
- // ==/UserScript==
- /*
- ***DISCLAIMER***
- This code is an edit of an existing MAL Randomizer.
- The source code can be found through the following link so check it out.
- https://gist.github.com/IA21/866c8c380165adf2caac7a421f608342
- This code is also riveted with errors, feel free to fix them up or edit
- this code in any way you see fit. If I have time, I'll look into some of
- the issues myself.
- Found Issues:
- - Randomizer only uses first 300 items unless loaded in first
- */
- GM_addStyle ( `
- .ShowItems {
- display: table-row-group !important;
- }
- .HideItems {
- display: none !important;
- }
- .stats {
- user-select: none;
- }
- ` );
- /* Just a random function */
- function randomInt(min, max) {
- return Math.floor(Math.random() * (max - min + 1)) + min;
- }
- /* Resets ALL Classes to "list-item HideItems" */
- function reset(BaseClassList, ShowingClassList, HidingClassList) {
- if (BaseClassList.length !== 0) {
- for (var classes1 in BaseClassList) {
- BaseClassList[classes1].className = "list-item HideItems";
- }
- }
- if (ShowingClassList.length !== 0) {
- for (var classes2 in ShowingClassList) {
- ShowingClassList[classes2].className = "list-item HideItems";
- }
- }
- if (HidingClassList.length !== 0) {
- for (var classes3 in HidingClassList) {
- HidingClassList[classes3].className = "list-item HideItems";
- }
- }
- }
- /* Chooses the classes to show */
- function execute(numberOfItems) {
- var getShowingClassList = document.getElementsByClassName("list-item ShowItems");
- var getHidingClassList = document.getElementsByClassName("list-item HideItems");
- var getBaseClassList = document.getElementsByClassName("list-item");
- reset(getBaseClassList, getShowingClassList, getHidingClassList);
- var hiddenClassList = document.getElementsByClassName("list-item HideItems");
- for (var count = 0; count < numberOfItems; count++){
- var chosenRandomInt = randomInt(0, hiddenClassList.length);
- var target = hiddenClassList[chosenRandomInt];
- try{
- target.className = "list-item ShowItems";
- } catch(err) {
- if (hiddenClassList.length !== 0){
- count--;
- }
- }
- }
- }
- /* Main Body Code */
- (function() {
- 'use strict';
- /* Button Styles and Creation */
- var container = document.createElement("span");
- var randButton = document.createElement("a");
- var randButton5 = document.createElement("a");
- var randButton10 = document.createElement("a");
- randButton.innerHTML = "<i class='fa-solid fa-random'></i> Random 1";
- randButton5.innerHTML = "<i class='fa-solid fa-random'></i> Random 5";
- randButton10.innerHTML = "<i class='fa-solid fa-random'></i> Random 10";
- randButton.style.cursor = "pointer";
- randButton5.style.cursor = "pointer";
- randButton10.style.cursor = "pointer";
- randButton.style.marginLeft = "15px";
- randButton5.style.marginLeft = "15px";
- randButton10.style.marginLeft = "15px";
- container.style.left = "4px";
- container.className = "stats";
- container.appendChild(randButton);
- container.appendChild(randButton5);
- container.appendChild(randButton10);
- var textlist = document.getElementsByClassName("text");
- var text = document.getElementsByClassName("text")[textlist.length - 1];
- document.getElementsByClassName("list-status-title")[0].insertBefore(container, text);
- /* On-screen button commands */
- randButton.onclick = function() {
- var numberOfItems = 1;
- execute(numberOfItems);
- };
- randButton5.onclick = function() {
- var numberOfItems = 5;
- execute(numberOfItems);
- };
- randButton10.onclick = function() {
- var numberOfItems = 10;
- execute(numberOfItems);
- };
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址