(function() { 'use strict'; function httpReq(url, callBack) { let xHttp = new XMLHttpRequest(); xHttp.onreadystatechange = function () { if(this.readyState === 4 && this.status === 200) { callBack(xHttp.responseText); } }; xHttp.open("Get", url, true); xHttp.send(); } // (function injectCookie() { if(window.localStorage && window.localStorage.getItem("window.bsource") !== "wechat") { window.localStorage.setItem("window.bsource", "wechat"); } if(document.cookie.indexOf("wechat") === -1) { document.cookie = "bsource=wechat"; } })(); let lastRelateUrl = ""; let relateVideoInterVal; let ownerInterval; let relateEndVideoInterval; setInterval(function () { let relateUrl = ""; let url = document.location.href.split("/"); let vid = url[url.length - 1]; if(vid.indexOf("av") !== -1) { relateUrl = "https://api.bilibili.com/x/web-interface/archive/related?from=h5&aid=" + /\d+/g.exec(vid)[0] + "&context="; } else { relateUrl = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + vid; } if(relateUrl.length > 0 && relateUrl !== lastRelateUrl) { lastRelateUrl = relateUrl; clearInterval(relateVideoInterVal); clearInterval(ownerInterval); clearInterval(relateEndVideoInterval); httpReq(relateUrl, function (res) { let data = JSON.parse(res).data; let tidMap = {}; for(let i = 0; i < data.length; ++i) { if(tidMap.hasOwnProperty(data[i].tid)) { tidMap[data[i].tid] += 1; } else { tidMap[data[i].tid] = 1; } } // relateVideoInterVal = setInterval(function() { let nodes = document.getElementsByClassName("v-card-toapp"); if (nodes !== undefined) { for(let i = 0; i < nodes.length; ++i) { nodes[i].getElementsByClassName('title')[0].innerHTML="

" + data[i].title + "

"; } } }, 500); // ownerInterval = setInterval(function() { let nodeList = ["m-video-openapp", "openapp", "m-video2-openapp", "m-video2-float-openapp", "open-app-btn m-nav-openapp", "m-related-openapp report-scroll-module", "open-app-btn m-video-main-openapp visible-open-app-btn"]; let appList = ["v-card-toapp"]; for(let i = 0; i < appList.length; ++i) { let app = document.getElementsByClassName(appList[i]); for(let j = 0; j < app.length; ++j) { let ownerNameApp = app[j].getElementsByClassName('open-app'); if(ownerNameApp && ownerNameApp.length > 0) { ownerNameApp[0].innerText = data[j].owner.name; } } if (app && app.length > 0) { app.onclick = function() { return false }; for(let k = 0; k < nodeList.length; ++k) { if(document.getElementsByClassName(nodeList[k]).length > 0) { document.getElementsByClassName(nodeList[k])[0].remove(); } } } } }, 500); // relateEndVideoInterval = setInterval(function() { let relateVideo = document.getElementsByClassName("player-mobile-ending-panel-title"); let app = document.getElementsByClassName("player-mobile-ending-panel-button"); if(relateVideo !== undefined && relateVideo.length > 0) { for(let i = 0; i < data.length; ++i) { if(relateVideo[0].textContent === data[i].title) { relateVideo[0].innerHTML="

" + data[i].title + "

"; if(app !== undefined && app.length > 0) { app[0].innerText = data[i].owner.name; } } } } }, 500); }) } }, 500); })();