Greasy Fork is available in English.
通过发送消息的方式提供图片url转blob的方法
当前为
// ==UserScript==
// @name 跨域获取图片blob
// @version 1.0.0
// @description 通过发送消息的方式提供图片url转blob的方法
// @author wilder
// @match *
// @grant GM_xmlhttpRequest
// @namespace http://greasyfork.icu/users/1211834
// ==/UserScript==
(function() {
'use strict';
window.addEventListener('message',(e)=>{
if(e.data && e.data.type === 'getImageBlob'){
console.log('准备解析',e.data)
getImageBlob(e.data.url).then(blob=>{
console.log('是不是blob',blob)
window.postMessage({
blob: blob,
type: e.data.type + '_result'
},'*')
})
}
})
})();
function getImageBlob(url){
return new Promise((resolve,reject)=>{
GM_xmlhttpRequest({
method:'get',
url:url,
responseType:'blob',
onload(res){
resolve(res.response)
}
})
})
}
function getImageBase64(blob) {
return new Promise((resolve,reject) => {
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = () => {
const base64 = reader.result;
resolve(base64);
}
reader.onerror = error => reject(error);
});
}