Greasy Fork is available in English.
批量下载##科技大学提供的##天文台天气图
// ==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); })();