// ==UserScript==
// @name 苔むす森の魂印師ダウンローダー
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://progallery.wix.com/gallery.html*
// @grant none
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js
// ==/UserScript==
(function() {
'use strict';
$(document).ready(function(){
var downloadAreaHtml = '<div class="download" style="background: #efefef; border: 1px solid #858585; border-radius: 4px; padding: 15px 20px; margin: 20px; font-size: 14px; line-height: 2;"></div>';
$('body').prepend(downloadAreaHtml).append(downloadAreaHtml);
if(window!=parent){
//iframeで埋めこまれた場合の処理
var url = location.href;
$('.download').append('<a href="'+url+'" target="_blank" style="color: #858585; margin-right: 10px;">Open iframe</a>');
return false;
} else {
setTimeout(function(){
createLink();
}, 2000);
}
});
function createLink() {
$('img').each( function(i){
if (i == $('img').length-1) {
return;
}
var pageNum = i+1;
var filename = pageNum+'.jpg';
var url = this.src.replace(/\/v1.*$/g, "");
var $link = $('<a href="#" style="color: #858585; margin-right: 10px;">'+filename+'</a>');
$link.on('click', function(e){
e.preventDefault();
downloadFile(url, filename);
});
$('.download').append($link);
} );
}
function downloadFile(url, filename) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "blob";
xhr.onload = function (oEvent) {
var blob = xhr.response;
if (window.navigator.msSaveBlob) {
// IEとEdge
window.navigator.msSaveBlob(blob, filename);
}
else {
// それ以外のブラウザ
var objectURL = window.URL.createObjectURL(blob);
var link = document.createElement("a");
document.body.appendChild(link);
link.href = objectURL;
link.download = filename;
link.click();
document.body.removeChild(link);
}
};
xhr.send();
}
})();