Bilibili-Evolved/min/download-danmaku.min.js
2018-12-09 17:32:48 +08:00

1 line
1.2 KiB
JavaScript

(()=>{return(n,t)=>{const e=t.attributes.videoInfo.export.DanmakuInfo;async function a(){const n=document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","");const t=new e((unsafeWindow||window).cid);await t.fetchInfo();const a=new Blob([t.rawXML],{type:"text/plain"});const i=URL.createObjectURL(a);const o=$("#danmaku-link");const d=o.attr("href");if(d){URL.revokeObjectURL(d)}o.attr("download",`${n}.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=(unsafeWindow||window).aid;let t=(unsafeWindow||window).cid;if(n===undefined||t===undefined){const e=document.URL.match(/\/av(\d+)/);if(e&&e[1]){const a=await new VideoInfo(e[1]).fetchInfo();n=a.aid;t=a.cid}}return t!==undefined},success:()=>{const n=document.querySelector("#danmaku-link");$("#download-danmaku").on("click",t=>{if(t.target!==n){a()}})}}}}})();