// ==UserScript== // @name 稿定设计去水印 // @namespace https://greasyfork.org/en/users/1089045-tao-yan // @version 2024.06.25.2 // @require https://cdn.bootcdn.net/ajax/libs/html2canvas/1.4.1/html2canvas.min.js // @description 最。 // @author 。 // @match https://www.gaoding.com/editor/design?* // @match https://www.focodesign.com/editor/design?* // @match https://www.focodesign.com/editor/odyssey?template_id=* // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; const mobileUserAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'; Object.defineProperty(navigator, 'userAgent', { get: function() { return mobileUserAgent; }, configurable: true }); function downloadImg() { let imgDom = document.querySelector('.infinite-canvas') if (!imgDom) { imgDom = document.querySelector('.editor-canvas') } if (imgDom) { // 解决转换出来的图片的清晰度问题 // 手动创建一个 canvas 标签 var root = document.documentElement root.style.overflow = 'auto' const canvas = document.createElement('canvas') // 获取父级的宽高 const width = parseInt(window.getComputedStyle(imgDom).width) const height = parseInt(window.getComputedStyle(imgDom).height) // 定义放大倍数,可支持小数 let scale = 1 canvas.width = width * scale canvas.height = height * scale canvas.style.width = width + 'px' canvas.style.height = height + 'px' Array.from(document.querySelectorAll('.editor-layout-current div')) .filter((el) => el.classList.length===0 && el.childNodes.length===0) .forEach((el) => { el.setAttribute('data-html2canvas-ignore', '') }) // 拿到目标dom调用一下html2canvas方法就能生成canvas对象了 // 获取要转换的元素 html2canvas(imgDom, { canvas: canvas, scale: scale, useCORS: true ,// 开启跨域设置,需要后台设置cors }).then((canvas) => { let dataURL = canvas.toDataURL('image/png') const el = document.createElement('a') el.download = '图片.png' el.href = dataURL document.body.append(el) el.click() el.remove() }) } } function addTool() { const button = document.createElement('button') button.style.position = 'absolute' button.style.zIndex = '999' button.style.top = '0px' button.style.left = '100px' button.style.width = '100px' button.style.height = '32px' button.style.fontSize = '16px' button.style.background = '#FF0000' button.innerText = '下载图片' document.body.append(button) button.onclick = downloadImg } addTool() // Your code here... //alert("") })();