mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
1.7 KiB
JavaScript
1 line
1.7 KiB
JavaScript
(()=>{return(n,t)=>{const{DanmakuInfo:e}=t.import("videoInfo");const{DanmakuConverter:o,XmlDanmakuDocument:a}=t.import("danmakuConverter");async function i(n,t){const i=document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace("_番剧_bilibili_哔哩哔哩","");const c=new e((unsafeWindow||window).cid);await c.fetchInfo();const r=(()=>{if(t===true){const n=new a(c.rawXML);const t=new o({title:i,font:"Microsoft YaHei UI",alpha:.6,duration:5,blockTypes:[],resolution:{x:1920,y:1080},bottomMarginPercent:.1});const e=t.convertToAssDocument(n);return new Blob([e.generateAss()],{type:"text/plain"})}else{return new Blob([c.rawXML],{type:"text/plain"})}})();const s=URL.createObjectURL(r);const u=$("#danmaku-link");const d=u.attr("href");if(d){URL.revokeObjectURL(d)}clearTimeout(n);document.querySelector("#download-danmaku>span").innerHTML="下载弹幕";u.attr("download",`${i}.${t?"ass":"xml"}`).attr("href",s).get(0).click()}return{widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="download-danmaku">\n <i class="icon-danmaku"></i>\n <span>下载弹幕</span>\n <a id="danmaku-link" style="display:none"></a>\n </button>`,condition:async()=>{let n=await SpinQuery.condition(()=>(unsafeWindow||window).cid,n=>n!==undefined);return n!==undefined},success:()=>{const n=document.querySelector("#danmaku-link");$("#download-danmaku").on("click",t=>{if(t.target!==n){const n=setTimeout(()=>document.querySelector("#download-danmaku>span").innerHTML="请稍侯...",200);i(n,t.shiftKey)}})}}}}})(); |