diff --git a/ani-search-enhancer.user.js b/ani-search-enhancer.user.js index b7723e6..9de43bf 100644 --- a/ani-search-enhancer.user.js +++ b/ani-search-enhancer.user.js @@ -1,12 +1,13 @@ // ==UserScript== // @name aniSearch Enhancer // @namespace http://git.nivram.io/marvinlehmann/ani-search-enhancer -// @version 1.72 +// @version 1.8 // @description Adds buttons to the info site of an anime on aniSearch which links you directly to various streaming portals. // @author Marvin Lehmann // @grant GM_xmlhttpRequest // @include /^https?://www.anisearch.de/anime/.*$/ // @connect animepahe.com +// @connect twist.moe // @require http://code.jquery.com/jquery-latest.js // @downloadURL http://git.nivram.io/marvinlehmann/ani-search-enhancer/raw/master/ani-search-enhancer.user.js // @supportURL http://git.nivram.io/marvinlehmann/ani-search-enhancer/issues @@ -69,6 +70,7 @@ $(function () { $stream_links.append(new Option("@ AnimeVibe", "https://animevibe.xyz/?s=" + encodedTitle)); $stream_links.append(new Option("@ KissAnime", "http://kissanime.ru/Search/Anime?keyword=" + encodedTitle)); $stream_links.append(new Option("@ Proxer", "https://proxer.me/search?s=search&name=" + encodedTitle + "&typ=all-anime#top")); + $stream_links.append(new Option("@ AnimeUltima", "https://www16.animeultima.eu/search?search=" + encodedTitle)); GM_xmlhttpRequest({ method: 'GET', @@ -88,5 +90,19 @@ $(function () { } } }); + + GM_xmlhttpRequest({ + method: 'GET', + url: 'https://twist.moe/', + onload: function (resp) { + if (resp) { + let parser = new DOMParser(); + let htmlDoc = parser.parseFromString(resp.responseText, 'text/html'); + let animeList = Array.from(htmlDoc.querySelectorAll('nav.series > ul > li'), x => [x.querySelector('span').innerText.trim(), x.querySelector('a').pathname]); + let target = animeList.find(x => x[0].startsWith(animeTitle)) + $stream_links.append(new Option("@ Twist.moe", "http://twist.moe" + target[1])); + } + } + }); } }); \ No newline at end of file