EZTVx Add show's poster preview on info icon at the left of torrent list's Mouseover, move "Aired today" list to the left side, etc. find out yourself.
// ==UserScript== // @name EZTVx enhancement // @name:zh EZTVx 网站增强 // @author [email protected] // @version 0.1.5 // @namespace http://tampermonkey.net/ // @description EZTVx Add show's poster preview on info icon at the left of torrent list's Mouseover, move "Aired today" list to the left side, etc. find out yourself. // @description:zh 增加剧集海报预览功能,将鼠标放到列表左边的i图标上即可显示;将"Aired today"列表放到左边栏,在右边栏增加yysub的美剧播出时间表,在剧集详情页增加搜索豆瓣的链接,其他增强细节自己体会。 // @match https://eztvx.to/home // @match https://eztvx.to/shows/* // @match https://eztvx.to/search/* // @match https://eztvx.to/cat/tv-packs* // @connect eztvx.to // @connect www.yysub.cc // @grant GM_xmlhttpRequest // @license aGPL License // ==/UserScript== //document.querySelectorAll("#header_holder > table > tbody > tr > td:nth-child(2) > a").forEach(element => { element.innerHTML = element.title ? element.title : element.innerHTML}); try { document.querySelectorAll("#header_holder > table").forEach(element => { element.width = "1220";}); document.getElementsByClassName("forum_header_border_normal")[0].setAttribute('width', 'max-content'); } catch (error) {console.error(error);}; const $position = document.querySelector("body"); $position.insertAdjacentHTML('afterend', '<div id="divFloat" style="position:absolute;"><img height="500px" id="minipics" src=""></div><div style="height:450px;"> </div>'); const gmFetch = (url, {method,headers,anonymous} = {}) => new Promise((onload, onerror) => {GM_xmlhttpRequest({url, method, headers, anonymous, onload, onerror})}); const parseHTML = (str) => {const tmp = document.implementation.createHTMLDocument(); tmp.body.innerHTML = str; return tmp;}; const YYSchedule = async() => { try { document.querySelectorAll("#header_holder > table > tbody > tr > td:nth-child(1) > a").forEach(element => { var hrefs = element.href.split("/"); element.childNodes[0].title = "https://eztvx.to/ezimg/thumbs/" + hrefs[5] + "-" + hrefs[4] + ".jpg"; element.addEventListener("mouseover", () => { document.querySelector("#minipics").src = element.childNodes[0].title; document.querySelector("#divFloat").style.setProperty("Left", (window.event.pageX + 20 || window.event.clientX + scrollX + 20) + "px"); document.querySelector("#divFloat").style.setProperty("Top", (window.event.pageY + 20 || window.event.clientY + scrollY + 20) + "px"); document.querySelector("#divFloat").style.setProperty("display", "block"); }); element.addEventListener("mouseout", () => { document.querySelector("#divFloat").style.setProperty("display", "none"); }); }) } catch (error) {console.error(error);} try { const $position = document.querySelector("#header_holder");$position.style="display, inline-block;position: absolute;left: 50%;transform: translate(-50%, 0px);"; const html = '<div id="lside" style="float: left; position: absolute; left: 0px;top: 138px;width:'+(screen.width-1300)/2+'px;">' +'<a href="/calendar/" class="forum_thread_header" style="color:#c0dbf6"><b>Aired today on EZTV 今日播放:' +new Array(" Sunday 星期天", " Monday 星期一", " Tuesday 星期二", " Wednesday 星期三", " Thursday 星期四", " Friday 星期五", " Saturday 星期六")[new Date().getDay()] + '</b></a>' +document.getElementsByClassName("section_header_column")[1].innerHTML + '<div style="height:520px;"> </div></div>'; $position.insertAdjacentHTML('afterend', html); } catch (error) {console.error(error);} try { const res = await gmFetch('https://www.yysub.cc/tv/schedule', {method: 'GET', anonymous: true, headers: {'User-Agent': 'Android'},}); const yysubs = parseHTML(res.responseText).getElementsByClassName("ihbg"); var array = Array.from(yysubs); array.forEach(element => {element.innerHTML = element.innerHTML.toString().replaceAll('/resource', 'https://www.yysub.cc/resource');}); const yysub = array[new Date().getDate() - 1].innerHTML; const $position = document.querySelector("#header_holder"); //if (!$position) return; const html = '<div id="rside" style="float:right; position:relative; top:136px; display:block;"><div>' +document.getElementsByClassName("section_header_column")[2].innerHTML + '</div><br><div>' + document.getElementsByClassName("section_header_column")[3].innerHTML + '</div><br><div>' + yysub + '</div></div><style>.start{display:inline-block;color:#FFFFFF;background:#39BB66;border-radius:4px;}.new{display:inline-block;color:#FFFFFF;background:#3866C5;border-radius:4px;}' + '.completed{display:inline-block;color:#FFFFFF;background:#EF4238;border-radius:4px;}.end{display:inline-block;color:#FFFFFF;background:rgb(72,94,105);border-radius:4px;}</style>'; $position.insertAdjacentHTML('afterend', html); } catch (error) {console.error(error);} try { document.querySelectorAll("#lside > table > tbody > tr > td > a").forEach(element => { var hrefs = element.href.split("/"); element.title = "https://eztvx.to/ezimg/thumbs/" + hrefs[5] + "-" + hrefs[4] + ".jpg"; element.addEventListener("mouseover", () => { document.querySelector("#minipics").src = element.title; document.querySelector("#divFloat").style.setProperty("Left", (window.event.pageX + 20 || window.event.clientX + scrollX + 20) + "px"); document.querySelector("#divFloat").style.setProperty("Top", (window.event.pageY + 20 || window.event.clientY + scrollY + 20) + "px"); document.querySelector("#divFloat").style.setProperty("display", "block"); }); element.addEventListener("mouseout", () => { document.querySelector("#divFloat").style.setProperty("display", "none"); }); }) } catch (error) {console.error(error);}; //document.querySelectorAll("#header_holder > table")[1].remove(); try {document.querySelector("#header_holder > table:nth-child(9)").remove();} catch (error) {} try {document.querySelectorAll("#header_holder > table > tbody > tr > td:nth-child(2) > a").forEach(element => { element.innerHTML = element.title ? element.title : element.innerHTML});} catch (error) {} }; YYSchedule(); try { const douban = document.querySelector("#header_holder > div > table > tbody > tr > td > center > table > tbody > tr > td > a"); const imdb = douban.href.split("/"); const html = '<br><a href="https://search.douban.com/movie/subject_search?search_text=' + imdb[4] + '" target="douban">在豆瓣中搜索 ' + douban.text.replace(" on IMDb", "") + '</a>'; const $position = douban; $position.insertAdjacentHTML('afterend', html); } catch (error) {console.error(error);};