您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically opens your Stream on your favourite Hoster by order.
当前为
// ==UserScript== // @name Auto Select Favourit Hoster // @namespace https://greasyfork.org/users/928242 // @version 1.0 // @description Automatically opens your Stream on your favourite Hoster by order. // @author Kamikaze (https://github.com/Kamiikaze) // @match https://aniworld.to/anime/stream/* // @icon https://www.google.com/s2/favicons?sz=64&domain=aniworld.to // @match https://s.to/serie/stream/* // @match https://serien.sx/serie/stream/* // @match https://anicloud.io/anime/stream/* // @match https://aniworld.to/anime/stream/* // @grant none // @license MIT // ==/UserScript== // Example Hosters: // ['VOE', 'Doodstream', 'Streamtape', 'Vidoza'] const hosterOrder = ['Vidoza', 'VOE', "Streamtape"]; const availableHosters = []; (() => { getHosterList() console.log(availableHosters) const hoster = findFavHosterByOrder() if (!hoster) return const iframe = getVideoIframe() if (!iframe) return iframe.src = "/redirect/" + hoster.id })(); function findFavHosterByOrder() { let hoster = false for (let favHost of hosterOrder) { hoster = availableHosters.find( (avHost) => avHost.name === favHost ) if (hoster) break; } return hoster } function getHosterList() { const hosterListEl = document.querySelectorAll(".hosterSiteVideo > ul > li") for (let i = 0; i < hosterListEl.length; i++) { const host = hosterListEl[i] if (!isAvailable(host)) return availableHosters.push({ name: host.getElementsByTagName("h4")[0].innerText, id: host.getAttribute("data-link-id"), }) } } function isAvailable(host) { return host.style.display !== "none" } function getVideoIframe() { return document.querySelector(".inSiteWebStream iframe") }