// ==UserScript== // @name 网易云音乐歌曲封面下载 // @namespace 网易云音乐歌曲封面下载 // @version 0.1 // @description 歌曲封面下载 // @author opentdoor // @match http://music.163.com/* // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== (function() { 'use strict'; var ggx=function(){ var ww=document.getElementById("g_iframe").contentWindow; var do2=ww.document; var aa=do2.querySelector("a[data-action='outchain']"); if(aa){ var a=do2.createElement('a'); a.href= do2.querySelector(".j-img").dataset["src"]; a.download=do2.querySelector(".f-ff2").innerText+'.jpg'; a.innerHTML='封面下载'; a.classList.add("des"); a.classList.add("s-fc7"); var br=do2.createElement('br'); aa.parentElement.appendChild(br); aa.parentElement.appendChild(a); function Download(a) { var ret = GM_xmlhttpRequest({ method: "GET", overrideMimeType:"text/plain;charset=x-user-defined", url: a.href, onload: function(res) { var binStr=res.responseText; var gggr=[]; for (var i = 0, len = binStr.length; i < len; ++i) { var c = binStr.charCodeAt(i); gggr[i]=(c & 0xff); } var u8=new Uint8Array(gggr); var b=new Blob([u8],{type:'image/jpeg'}); saveFile(b,a.download); a.isDownload=false; } }); } function saveFile(blob, filename) { if (ww.navigator.msSaveBlob) { ww.navigator.msSaveBlob(blob, filename); } else { var a = do2.createElement("a"); var url = URL.createObjectURL(blob); a.href = url; a.download = filename; var evt = do2.createEvent('MouseEvents'); evt.initEvent('click', true, true); a.dispatchEvent(evt); URL.revokeObjectURL(url); } } var ars = do2.querySelectorAll("a[href][download]"); for (var i = 0; i < ars.length; i++) { var a = ars[i]; a.addEventListener("click", function (e) { e.preventDefault(); if (!this.isDownload) Download(this); this.isDownload = true; return false; }, true); } } }; if(document.getElementById("g_iframe")) document.getElementById("g_iframe").onload=ggx; })();