// ==UserScript==
// @name 淘宝天猫图片打包下载
// @namespace https://hlelf.com/
// @version 0.1.1
// @description 淘宝主图,主图视频,详情图打包下载。【说明】请先将页面下拉到最后,确认所有详情图完全显示后再点击右下侧的按钮,否则会获取不到图片资源,如果有视频,请等到视频加载后再进行操作。
// @author lelf
// @match *://item.taobao.com/*
// @match *://detail.tmall.com/*
// @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js
// @require https://cdn.bootcss.com/materialize/1.0.0-rc.2/js/materialize.min.js
// @require https://cdn.bootcss.com/jszip/3.2.2/jszip.min.js
// @require https://cdn.jsdelivr.net/npm/file-saver@2.0.2/dist/FileSaver.min.js
// @require https://cdn.bootcss.com/jszip-utils/0.1.0/jszip-utils.min.js
// @resource lelf-materialcss https://cdn.jsdelivr.net/gh/lelf2005/cdn/material.min.css
// @license GPL License
// @run-at document-end
// @grant GM_addStyle
// @grant GM_getResourceText
// @downloadURL none
// ==/UserScript==
(function() {
'use strict';
var $ = $ || window.$;
var materialcss = GM_getResourceText('lelf-materialcss');
GM_addStyle(materialcss);
addMenu();
var zipImgs;
var zipDetailImgs;
function addMenu() {
var sidenav = '
';
$("body").append(sidenav);
$('.fixed-action-btn').floatingActionButton({
hoverEnabled: false
});
$("#lelf_tb").click(function(){
getTBPics();
$('#lelf_modal2').modal();
});
}
function getTBPics(){
zipImgs = [];
zipDetailImgs = [];
var imgHtml = '';
var imgSrc = '';
var detailImgSrc = '';
var detailImgHtml = '';
var mainVideo = $("video").find("source");
var isBlobVideo = false;
var mainVideoHtml = '';
if(mainVideo.length > 0){
mainVideoHtml = '
';
zipImgs.push(mainVideo[0].src);
}else if($("video").length > 0){
mainVideoHtml = '这个视频隐藏了真实地址,暂时无法解析。
';
}
var mainImg = $("#J_UlThumb").find("img");
for(var i =0; i< mainImg.length;i++){
imgSrc = mainImg[i].src;
if(imgSrc.lastIndexOf("webp")>-1){
imgSrc = imgSrc.substring(0, imgSrc.lastIndexOf('_', imgSrc.lastIndexOf('_') - 1));
}else{
imgSrc = imgSrc.substring(0, imgSrc.lastIndexOf("_"));
}
zipImgs.push(imgSrc);
imgHtml += '';
}
var detailImg = $("#description > .content").find("img");
for(var k =0; k< detailImg.length;k++){
if(detailImg[k].getAttribute("data-ks-lazyload") !== null){
detailImgSrc = detailImg[k].getAttribute("data-ks-lazyload");
}else{
detailImgSrc = detailImg[k].src;
}
var theImage = new Image();
theImage.src = detailImgSrc;
if(theImage.width > 100 ){
detailImgHtml += '';
zipDetailImgs.push(detailImgSrc);
}
}
addTBHtml(mainVideoHtml,imgHtml,detailImgHtml);
$('.materialboxed').materialbox();
}
function addTBHtml(video,imgs,detailImgs){
var isAdded = $("#lelf_modal2");
if(isAdded.length > 0){
isAdded.remove();
}
var s = ' ';
$("body").append(s);
var instance = M.Tabs.init($('.tabs'), '{}');
$('.tabs').tabs('updateTabIndicator');
$("#lelf_tbpic_download").click(function(){
var zip = new JSZip();
var mainImgs = zip.folder("main");
var detailImgs = zip.folder("detail");
var suffix = '';
var totalAssets = zipImgs.length + zipDetailImgs.length;
var currentAsset = 0;
for(var i=0;i