// ==UserScript== // @name SVG Download // @namespace http://tampermonkey.net/ // @version 2.0 // @description 给字统提供下载 SVG 按钮 // @author Basic 低手 // @license MIT // @match https://zi.tools/* // @icon https://www.google.com/s2/favicons?sz=64&domain=zi.tools // @grant none // @downloadURL none // ==/UserScript== function waitForElm(selector) { return new Promise(resolve => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver(mutations => { if (document.querySelector(selector)) { resolve(document.querySelector(selector)); observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); }); } waitForElm('.links').then((Links) => { //window.addEventListener("load", function(){ //window.onload=function(){ console.log("AAA"); var c=document.title.split(":")[0]; var s=''; // console.log(s); var pattern = new RegExp(c); console.log(pattern); // var Links=document.getElementsByClassName("links")[0]; var pcOnly=document.getElementsByClassName("pc-only")[0]; var SVG=pcOnly.getElementsByTagName("svg")[0].cloneNode(true); console.log(SVG); SVG.style=""; var dash=SVG.children[0]; SVG.removeChild(dash); var btnDown=document.createElement("button"); btnDown.innerText="下载 SVG 文件"; btnDown.onclick=function(){ // 定义触发事件的DOM var text=SVG.outerHTML; var filename=pcOnly.innerText.replace(":",":")+".svg"; var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } Links.appendChild(btnDown); //} //},false); });