// ==UserScript== // @name Bilibili 哔哩哔哩动态查看原图 // @icon https://t.bilibili.com/favicon.ico // @namespace https://lolico.moe/ // @version 1.0 // @description 使哔哩哔哩动态可以查看原图以保存图片等,同时也支持空间中的动态 // @author Jindai Kirin // @match https://t.bilibili.com/ // @match https://space.bilibili.com/*/dynamic // @license GPL-3.0 // @grant none // @run-at document-end // @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js // @downloadURL none // ==/UserScript== (function() { 'use strict'; var datav={ t: '0a8e5084', space: '2dd69243' }; var domain = window.location.href.match(/(?<=\/\/)[^.]+/)[0]; var origBtnHtml = `
  • 查看原图
  • `; //添加按钮 function setOrigBtn() { $('.imagesbox').each(function (i, ele) { var $ele=$(ele); //完成标志 if ($ele.hasClass('orig-done')) return; else $ele.addClass('orig-done'); //点击监听事件 $ele.click(function () { if(!$ele.hasClass('orig-active')) { //添加按钮 (function addBtn(){ var $bc = $ele.find('.boost-control'); //等待DOM完成渲染 if($bc.length === 0) { setTimeout(addBtn, 50); return; } $ele.addClass('orig-active'); if ($bc.find('.orig-btn').length === 0) { $($bc.children()[1]).after(origBtnHtml); $bc.find('.orig-btn').click(function () { window.open($ele.find('.boost-img>img').attr('src').replace(/@.*/, '')); }); } })(); } else if($('.boost-img:hover').length>0 || $('.boost-control > .bp-v-middle:first').is(':hover')){ //移除按钮 $ele.find('.orig-btn').remove(); $ele.removeClass('orig-active'); } }); }); } var running = false; function run() { if (running) return; running = true; (function waitReady(){ if($('.imagesbox').length === 0) { setTimeout(waitReady, 100); return; } setOrigBtn(); setTimeout(function () { running = false; }, 2000); })(); } //等待DOM完成渲染 setTimeout(run, 500); window.onscroll = run; })();