Greasy Fork is available in English.
查看B站封面大图
当前为
// ==UserScript==
// @name Bilibili BigCover
// @namespace http://tampermonkey.net/
// @version 1.0.0
// @description 查看B站封面大图
// @author Mr.ZHAO
// @include *://www.bilibili.com/video/av*
// @include *://bangumi.bilibili.com/anime/*
// @include *://www.bilibili.com/bangumi/*
// @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js
// @require https://cdn.bootcss.com/fancybox/3.3.5/jquery.fancybox.min.js
// @resource fancyboxCss https://cdn.bootcss.com/fancybox/3.3.5/jquery.fancybox.min.css
// @grant GM_getResourceText
// @note 2018.08.08-v1.0.0 1.变更查看大图显示方式:不再弹出新标签页显示(部分浏览器会要求信任站点弹窗,所以摒弃掉),由当前页面弹层放大显示、2.新增下载及关闭按钮、3.按钮样式优化、
// ==/UserScript==
(function () {
'use strict';
// 1.添加弹窗样式表
var fancyboxCss = GM_getResourceText("fancyboxCss");
var cssNode = document.createElement("style");
cssNode.setAttribute("type", "text/css");
cssNode.setAttribute("name", "fancyboxCss");
try{
var buttonStyle = `a[data-fancybox="images"]{margin: auto 30px;line-height: 18px;font-size: 12px;}.count-wrapper>a[data-fancybox="images"]{color:#222}.count-wrapper>a[data-fancybox="images"]:hover{color: #00a1d6;}`;
cssNode.textContent = buttonStyle + fancyboxCss;
document.querySelector("head").appendChild(cssNode);
} catch (e){console.log(e.message);}
// 2.检测 jQuery 是否可用
if (!window.jQuery) {
// 若还未加载jQuery, 则监听
(function waitForJquery(){
if (!window.jQuery){
setTimeout(waitForJquery, 100);
} else appendCoverBtn();
})();
} else {
appendCoverBtn();
}
// 3.添加大图按钮
function appendCoverBtn() {
var imageurl = null;
if ($('meta[itemprop="image"]').length !== 0){
imageurl = $('meta[itemprop="image"]').attr("content");
}else if($('meta[property="og:image"]').length !== 0){
imageurl = $('meta[property="og:image"]').attr("content");
}
imageurl = imageurl.replace(/http[s]?\:/,'');
var appended = false;
var coverBtn = $(`<a data-fancybox="images" href="${imageurl}"><span><i class="van-icon-info_playnumber"></i> 查看封面大图</span></a>`);
$(".count-wrapper,.video-info-m>.number,.video-data").bind('DOMSubtreeModified', function() {
if(appended) return;
appended = true;
$(this).append(coverBtn);
$("a[data-fancybox]").fancybox({
buttons : ['download','close']
});
});
}
})();