Greasy Fork is available in English.
修复 哔哩哔哩(B站|Bilibili) 失效的收藏。(可查看av号、标题、封面)
Fra og med
// ==UserScript==// @name 哔哩哔哩(B站|Bilibili)收藏夹Fix// @namespace http://tampermonkey.net/// @version 0.4// @description 修复 哔哩哔哩(B站|Bilibili) 失效的收藏。(可查看av号、标题、封面)// @author Mr.Po// @match https://space.bilibili.com/*/favlist*// @require http://code.jquery.com/jquery-1.11.0.min.js// @connect biliplus.com// @grant GM_xmlhttpRequest// ==/UserScript==(function() {'use strict';var space = 2000;setInterval(updateFav,space);})();// 修改收藏function updateFav(){var $lis = $("ul.fav-video-list.content li.small-item.disabled");if($lis.size()>0){$lis.each(function(i,it){var aid = $(it).attr("data-aid");var $a = $(it).find("a");$a.attr("href","https://www.biliplus.com/video/av"+aid+"/");$a.attr("target","_blank");showDetail($lis);fixTitleAndPic($(it),aid,$($a[1]));signInval($(it),$($a[1]))$(it).removeClass("disabled");$a.removeClass("disabled");});}}// 标记失效function signInval($it,$a){var $pubdate = $it.find("div.meta.pubdate");$pubdate.attr("style","text-decoration:line-through");$a.attr("style","text-decoration:line-through");}// 修复标题和海报function fixTitleAndPic($it,aid,$a){GM_xmlhttpRequest({method: 'GET',url: "https://www.biliplus.com/api/view?id="+aid,responseType:"json",onload: function(response){var res = response.response;// 找到了if(res.title){$a.text(res.title);$a.attr("title",$a.text());isLoad(res.pic,function(){var $img = $it.find("img");$img.attr("src",res.pic);});}else{// 未找到fixTitleAndPicEnhance1(aid,$a,$it);}}});}// 修复标题和海报 增强 - 1function fixTitleAndPicEnhance1(aid,$a,$it){GM_xmlhttpRequest({method: 'GET',url: "https://www.biliplus.com/all/video/av"+aid+"/",onload: function(response){var params = response.responseText.match(/getjson\('(\/api\/view_all.+)'/);fixTitleAndPicEnhance2(params[1],$a,$it,aid);}});}// 修复标题和海报 增强 - 2function fixTitleAndPicEnhance2(param,$a,$it,aid){GM_xmlhttpRequest({method: 'GET',url: "https://backup.biliplus.com"+param,responseType:"json",onload: function(response){var res = response.response;// 找到了if(res.code==0){$a.text(res.data.info.title);$a.attr("title",$a.text());isLoad(res.data.info.pic,function(){var $img = $it.find("img");$img.attr("src",res.data.info.pic);});}else{// 未找到$a.text($a.text()+"("+aid+")");$a.attr("title",$a.text());}}});}// 判断一个url是否可以访问function isLoad(url,fun){$.ajax({url: url,type: 'GET',success: function(response) {fun();},error:function(e){}});}// 显示详细function showDetail($lis){var fidRegex = window.location.href.match(/fid=(\d+)/);var fid;if(fidRegex){fid = fidRegex[1];}else{fid = $("div.fav-item.cur").attr("fid");}var pn = $("ul.be-pager li.be-pager-item.be-pager-item-active").text();$.ajax({url: "https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id="+fid+"&pn="+pn+"&ps=20&keyword=&order=mtime&type=0&tid=0&jsonp=jsonp",success: function(json){var $medias = json.data.medias;$lis.each(function(i,it){var aid = $(it).attr("data-aid");var $mediaF = $medias.filter(function(it){if(it.id==aid){return it;}});var $media = $mediaF[0];var $a = $(it).find("a");var titles = "";if($media.pages){var $titlesM = $media.pages.map(function(it,i,arry){return it.title;});titles = $titlesM.join("、");}var content = "av:"+aid+"\nP数:"+$media.page+"\n子P:"+titles+"\n简介:"+$media.intro$($a[0]).attr("title",content);});}});}