Bilibili-Evolved/min/download-danmaku.min.js
2018-12-19 22:31:24 +08:00

1 line
1.3 KiB
JavaScript

(()=>{return(n,t)=>{const e=t.attributes.videoInfo.export.DanmakuInfo;async function a(n){const t=document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace("_番剧_bilibili_哔哩哔哩","");const a=new e((unsafeWindow||window).cid);await a.fetchInfo();const o=new Blob([a.rawXML],{type:"text/plain"});const i=URL.createObjectURL(o);const c=$("#danmaku-link");const d=c.attr("href");if(d){URL.revokeObjectURL(d)}clearTimeout(n);document.querySelector("#download-danmaku>span").innerHTML="下载弹幕";c.attr("download",`${t}.xml`).attr("href",i).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);a(n)}})}}}}})();