您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
无需登录,批量下载阿里巴巴矢量图标
// ==UserScript== // @name 阿里巴巴矢量图标下载器 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 无需登录,批量下载阿里巴巴矢量图标 // @author GodFinal // @match *://www.iconfont.cn/* // @grant unsafeWindow // @icon http://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico // @require https://cdn.bootcss.com/jszip/3.1.5/jszip.min.js // @require https://cdn.bootcss.com/jszip-utils/0.0.2/jszip-utils.min.js // @require https://cdn.bootcss.com/FileSaver.js/1.3.8/FileSaver.min.js // @require https://cdn.bootcss.com/jquery/3.3.0/jquery.slim.min.js // ==/UserScript== (function() { 'use strict'; var zip = new JSZip(); function processHtml(){ var $btnSelectOrClear = $('<li class="nav-item"><a class="nav-item-link" href="javascript:void(0);"><span>全选/清空</span></ a></li>'); var $btnDownload = $('<li class="nav-item"><a class="nav-item-link" href="javascript:void(0);"><span>下载(0)</span></ a></li>'); var $text = $btnDownload.find('span'); var total = 0; var drag = false; $('.site-nav nav > ul').append($btnSelectOrClear).append($btnDownload); $('header .site-nav nav li.nav-item').css({'padding':'0 6px'}); $('.icon-cover').remove(); var $list = $('#inmain .block-icon-list').css('user-select','none'); var $items = $('#inmain .block-icon-list li'); var array = []; var arrayItem = []; var x = -1; var y = -1; var num = Math.round($list.width() / ($items.eq(0).width() + 30)); $items.each(function(i,item){ if(i % num === 0){ if(arrayItem.length){ array.push(arrayItem); } x = -1; y++; arrayItem = []; } x++; arrayItem.push($(item).data('y',y).data('x',x)); }); array.push(arrayItem); $btnSelectOrClear.on('click',function(){ if(total){ $list.find('.selected').removeClass('selected'); total = 0; }else{ $items.addClass('selected'); total = $items.length; } $text.text('下载(' + total + ')'); }); $btnDownload.on('click',function(){ $list.find('.selected').each(function(i,item){ var $item = $(item); var svg = $item.find('.icon').clone(true).removeAttr('class style p-id data-spm-anchor-id'); svg.find('path').removeAttr('p-id fill data-spm-anchor-id'); zip.file($item.find('.icon-name').text()+".svg",svg[0].outerHTML); }); zip.generateAsync({type:"blob"}) .then(function(content) { saveAs(content, "iconfont.zip"); }); }); var posX = 0; var posY = 0; var tarX = 0; var tarY = 0; $items.css('cursor','pointer').on('click',function(){ $(this).toggleClass('selected').hasClass('selected') ? total++ : total--; $text.text('下载(' + total + ')'); }).on('mousedown',function(){ var $this = $(this); drag = true; posX = $this.data('x'); posY = $this.data('y'); }).on('mouseover',function(){ if(drag){ var $this = $(this); tarX = $this.data('x'); tarY = $this.data('y'); var startY = Math.min(posY,tarY); var startX = Math.min(posX,tarX); var endY = Math.max(posY,tarY); var endX = Math.max(posX,tarX); for(var i = startY; i <= endY; i++){ for(var j = startX; j <= endX; j++){ array[i][j].addClass('selected'); } } total = $list.find('.selected').length; $text.text('下载(' + total + ')'); } }); $(document).on('mouseup',function(){ drag = false; posX = 0; posY = 0; tarX = 0; tarY = 0; }); } var timer = setInterval(function(){ if($('.block-icon-list li').length){ clearInterval(timer); processHtml(); } console.log('Listening'); },500); })();