Use web worker to compress images
이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://update.greasyfork.org/scripts/20372/130355/zipped.js을(를) 사용하여 포함하는 라이브러리입니다.
// https://github.com/baivong/Userscript
(function () {
'use strict';
function generateZip(index, name) {
var zip = new JSZip();
box[('item' + index)].forEach(function (imgBlob) {
zip.file(imgBlob.name, imgBlob.content);
});
zip.generateAsync({
type: 'blob'
}).then(function (blob) {
self.postMessage({
index: index,
name: name,
content: blob
});
}, function (reason) {
self.postMessage(reason);
});
}
var box = {};
self.addEventListener('message', function (e) {
var i = 'item' + e.data.index;
if (!box[i]) box[i] = [];
if (e.data.run) {
generateZip(e.data.index, e.data.name);
} else {
box[i].push({
name: e.data.name,
content: e.data.content
});
}
}, false);
})();