🏠 返回首頁 

Greasy Fork is available in English.

ustAllDownload

批量下载##科技大学提供的##天文台天气图

// ==UserScript==
// @name        ustAllDownload
// @author  网络孤独行客
// @description  批量下载##科技大学提供的##天文台天气图
// @namespace   http://envf.ust.hk/
// @include     http://envf.ust.hk/*
// @version     1.0
// @grant		GM_xmlhttpRequest
// ==/UserScript==
;(function(){
var ajaxCount = 0;
var nodeLength;
function GM_Ajax(link){
GM_xmlhttpRequest({
method: "GET",
url: link.getAttribute("href"),
onload: function(response) {
response.responseText.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) {
link.setAttribute("href",capture);
var p = link.parentNode.parentNode.parentNode;
p = p.querySelector("small").innerHTML;
link.setAttribute("download",p+".gif");
ajaxCount += 1;
ajaxCount == nodeLength && downloadAll();
});
}
});
}
function downloadAll(){
var h3 = document.querySelector("h3");
h3.innerHTML += "<b style='color:red'>点击这里下载全部大图</b>";
h3.addEventListener("click",function(){
var aNodelist = document.querySelectorAll("#icons a");
var forEach = Array.prototype.forEach;
forEach.call(aNodelist, function(link){
link.click();
});
},false);
}
var target = document.querySelector("#icons");
var MutationObserver = window.MutationObserver || window.MozMutationObserver;
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var aNodelist = document.querySelectorAll("#icons a");
nodeLength = aNodelist.length;
var forEach = Array.prototype.forEach;
forEach.call(aNodelist, function(link){
GM_Ajax(link);
});
});
});
var config = { attributes: true, childList: true, characterData: true };
observer.observe(target, config);
})();