Greasy Fork

Greasy Fork is available in English.

稿定设计去水印1.6 好像失效了,正在修补,过两天更新

2025.1.6最新一键去稿定设计水印的脚本,自用分享。

目前为 2025-01-09 提交的版本。查看 最新版本

// ==UserScript==
// @name         稿定设计去水印1.6  好像失效了,正在修补,过两天更新
// @namespace    http://greasyfork.icu/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);