这次是弄成了, 按一个按钮
然后可以自动调用firefox的下载, 下载图片的url列表。
// ==UserScript==
// @name heru1
// @namespace null
// @include http://heru3.com/*
// @version 1
// @grant none
// ==/UserScript==
function DownloadImage(fileName, content){
var aLink = document.createElement('a');
var blob = new Blob([content]);
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(evt);
}
function getimgsrc(htmlstr){
var reg=/<img.+?src=('|")?([^'"]+)('|")?(?:\s+|>)/gim;
var arr = [];
while(tem=reg.exec(htmlstr)){
arr.push(tem[2]);
}
return arr;
}
var obj = document.createElement("li");
obj.innerHTML = "<a href='www.baidu.com'>tmp</a><button id='sadasdasd'>Download</button>";
var lu = document.getElementById("menus").children[1];
lu.appendChild(obj);
document.getElementById("sadasdasd").onclick = function() {//正确
Download();
}
function Download()
{
var tmp = document.getElementById("content").children[0].innerHTML;
if (tmp)
{
var img = '';
var urls = getimgsrc(tmp);
for (var i = 0; i< urls.length; i++)
{
img += urls[i].substr(0, urls[i].indexOf('?')) + '\n';
}
alert(img);
DownloadImage(document.getElementsByClassName("title")[0].innerHTML+".txt", img);
}
}
我觉得javascript应该可以自动保存图片, 但是多个图片的保存也是件麻烦的事情, 过两天再研究研究吧。