2025.1.6最新一键去稿定设计水印的脚本,自用分享。
当前为
// ==UserScript==
// @name 稿定设计去水印1.6 好像失效了,正在修补,过两天更新
// @namespace https://greasyfork.org/zh-CN/users/1344035-leng-y
// @version 1.6
// @author LENG_Y
// @description 2025.1.6最新一键去稿定设计水印的脚本,自用分享。
// @match https://www.gaoding.com/editor/design?*
// @match https://www.focodesign.com/editor/design?*
// @match https://www.focodesign.com/editor/odyssey?template_id=*
// @grant unsafeWindow
// ==/UserScript==
(function() {
'use strict';
// 保存原始的 createObjectURL 和 Blob 构造函数
const originalCreateObjectURL = URL.createObjectURL;
const originalBlob = Blob;
let isFirstBlobRequest = true;
// 重写 createObjectURL 方法
URL.createObjectURL = function(blob) {
if (isFirstBlobRequest) {
isFirstBlobRequest = false;
return null;
}
return originalCreateObjectURL.call(this, blob);
};
// 重写 Blob 构造函数
window.Blob = function(...args) {
return new originalBlob(...args);
};
// 设置定时器,在页面加载完成 5 秒后恢复原始功能
window.addEventListener('load', function() {
setTimeout(function() {
URL.createObjectURL = originalCreateObjectURL;
window.Blob = originalBlob;
}, 5000);
});
})();
var checkInterval = 800;
var intervalId = setInterval(function() {
var exportImg = document.querySelector('.dc-header__export-actions');
if (exportImg) {
clearInterval(intervalId);
// 创建“清屏”按钮
var clearScreenNode = document.createElement("div");
clearScreenNode.className = "dc-header__clear-screen";
clearScreenNode.innerHTML = `
<div style="margin-right: 8px;">
<div class="gda-btn-group">
<button type="button" class="download-popover__primary gda-btn gda-btn-secondary clear-screen-btn">
<span>清屏</span>
</button>
</div>
</div>`;
exportImg.parentNode.insertBefore(clearScreenNode, exportImg);
// 添加“清屏”按钮事件
var clearScreenBtn = document.querySelector('.clear-screen-btn');
var isHidden = false; // 用于记录隐藏状态
clearScreenBtn.addEventListener('click', function() {
var elementsToToggle = [
...document.querySelectorAll('.resource-station, .right-panel, .main__bottom, .dui-noob-guide-index')
];
if (!isHidden) {
// 隐藏指定元素
elementsToToggle.forEach(element => {
if (element) element.style.display = 'none';
});
clearScreenBtn.querySelector('span').textContent = '恢复';
} else {
// 显示指定元素
elementsToToggle.forEach(element => {
if (element) element.style.display = '';
});
clearScreenBtn.querySelector('span').textContent = '清屏';
}
isHidden = !isHidden; // 切换状态
});
}
}, checkInterval);