Greasy Fork

Greasy Fork is available in English.

去水印--支持婚贝、图怪兽、创客贴、易企秀

支持婚贝、图怪兽、创客贴、易企秀的设计图片去水印,去水印后自行截图即可。

目前为 2024-04-13 提交的版本。查看 最新版本

// ==UserScript==
// @name         去水印--支持婚贝、图怪兽、创客贴、易企秀
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  支持婚贝、图怪兽、创客贴、易企秀的设计图片去水印,去水印后自行截图即可。
// @author       ZouYS
// @match        https://ue.818ps.com/v4/*
// @match        https://818ps.com/u/*
// @match        https://www.eqxiu.com/*
// @match        https://h5.hunbei.com/*
// @match        https://approval.818ps.com/ue/*
// @match        https://www.chuangkit.com/odyssey/design*
// @match        https://www.chuangkit.com/sharedesign*
// @icon         https://img0.baidu.com/it/u=3057892570,2098051223&fm=253&fmt=auto&app=138&f=PNG?w=256&h=256
// @grant        none
// ==/UserScript==
/*请勿随意传播,自己使用就好,不然很容易被官方ban*/
(function() {
    'use strict';

    /*
 * @Author: zouys [email protected]
 * @Date: 2024-04-12 14:49:35
 * @LastEditors: zouys [email protected]
 * @LastEditTime: 2024-04-12 17:45:31
 * @FilePath: \Project_client\water-mask.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */

    window.onload = () =>{
        //图怪兽分享界面直接获取链接
        //非同源通信策略
        if(window.location.href.includes('https://818ps.com/u/')){
            console.log('share page')
            let approvalIframe = document.getElementById('approval-iframe');
            console.log('approvalIframe:',approvalIframe);
            if (approvalIframe) {
                let approvalIframeSrc = approvalIframe.src;
                console.log('Approval Iframe Source:', approvalIframeSrc);
                var size = prompt('图片大小(默认520,越大越清晰)','520' ); //将输入的内容赋给变量 name
                let substring=approvalIframeSrc.split('height=')[1]= size || '520';
                approvalIframeSrc=approvalIframeSrc.split('height=')[0]+'height='+substring;
                var secWindow = window.open(approvalIframeSrc);
            }
            window.close();
            return
        }
        if(window.location.href.includes("https://approval.818ps.com/ue/")){

            console.log('检查水印')
            while(document.querySelectorAll('.image-watermark')!=null){
                document.querySelector('.image-watermark').remove();
            }
            return
        }
        if(window.location.href.includes("https://www.chuangkit.com/sharedesign")){
            console.log('获取图片链接')

            setTimeout(() =>{
                let imgURL=document.querySelector('img[alt="设计缩略图"]').src
                console.log(imgURL);
                downloadImage(imgURL,new Date().getTime.toString())
            },3000)
            return
        }
        let showWindow = document.createElement('button')
        showWindow.style.width = '100px'
        showWindow.style.height = '40px'
        showWindow.innerText = '一键祛除水印'
        showWindow.style.position = 'fixed'
        showWindow.style.right = '50%'
        showWindow.style.top = '0px'
        showWindow.style.zIndex = '9999999'
        showWindow.style.backgroundColor = 'yellow'
        showWindow.style.color = 'red'
        showWindow.addEventListener('click', () =>{
        /**婚贝 */
        if(window.location.href.includes('https://h5.hunbei.com/')){
            doHunBe();
        }
        /**图怪兽 */
        if(window.location.href.includes('https://ue.818ps.com/v4/')){
            doTuGuaiShou();
        }
        /**易企秀 */
        if(window.location.href.includes('https://www.eqxiu.com/')){
            doYiQiXiu();
        }
        /**创客贴 */
        if(window.location.href.includes('https://www.chuangkit.com/odyssey/design')){
            doChuangKeTie();
        }
    })
    document.body.appendChild(showWindow)

    }

/**获取创可贴链接 */
var getImg=(delay)=>{
    setTimeout(() =>{
        if(document.querySelector('img[alt="设计缩略图"]')==null){
            getImg(1000);
            return
        }
        let imgURL=document.querySelector('img[alt="设计缩略图"]').src
        console.log(imgURL);
        downloadImage(imgURL,new Date().getTime.toString())
    },delay || 3000)
}

/**
 * 图怪兽去水印
 * https://ue.818ps.com/v4/
 */
var doTuGuaiShou=async()=>{
    //获取分享链接
    await document.querySelector('.headerBtnItem.userShare').click();

    setTimeout(() => {
        var shareURL = document.getElementById('link').value;
        console.log(shareURL);

        var newWindow = window.open(shareURL);
        console.log('new window:',newWindow);


        /*同源通信策略
        newWindow.onload = () => {
            let newWindowDocument = newWindow.document;
            let approvalIframe = newWindowDocument.getElementById('approval-iframe');
            console.log('newWindowDocument:',newWindowDocument);
            if (approvalIframe) {
                let approvalIframeSrc = approvalIframe.src;
                console.log('Approval Iframe Source:', approvalIframeSrc);

                var secWindow = window.open(approvalIframeSrc);

                secWindow.onload = () => {
                    let secWindowDocument = secWindow.document;
                    let imageWatermark = secWindowDocument.querySelector('.image-watermark');

                    if (imageWatermark) {
                        imageWatermark.remove();
                    }

                    // 使用循环确保移除所有类名为 '.image-watermark' 的元素
                    while (secWindowDocument.querySelector('.image-watermark')) {
                        secWindowDocument.querySelector('.image-watermark').remove();
                    }
                };
            } else {
                console.log('No approval iframe found in the new window.');
            }
        };*/
    }, 1000);
}

/**
 * https://www.eqxiu.com/
 * 易企秀去水印
 */

var doYiQiXiu=()=>{
    while(document.querySelector('.eqc-watermark')!=null) {
        document.querySelector('.eqc-watermark').remove()
    }
    // while(document.querySelector('[data-hint="双击或从素材库拖拽进行替换"]')!=null)
        document.querySelector('[data-hint="双击或从素材库拖拽进行替换"]').remove()
}

/**
 * 婚贝
 * https://h5.hunbei.com/
 */
var doHunBe=async()=>{
    //去除页面监听
    // 保存 MutationObserver 的原始引用
    var originalMutationObserver = window.MutationObserver;

    // 重写 MutationObserver 的原型
    window.MutationObserver = function(callback) {
        // 返回一个空的对象,模拟 MutationObserver 的行为,但不执行任何操作
        this.observe = function() {};
        this.disconnect = function() {};
        this.takeRecords = function() {};
    };
    // 为了兼容性,保留原始的 MutationObserver 属性
    window.MutationObserver.prototype = originalMutationObserver.prototype;
    console.log(1)
    // 保存原始的 addEventListener 方法
    var originalAddEventListener = Element.prototype.addEventListener;

    // 重写 addEventListener 方法
    Element.prototype.addEventListener = function(type, listener, options) {
        // 如果是要添加的事件是 'DOMNodeInserted'
        if (type === 'DOMNodeInserted') {

        } else {
            // 对于其他类型的事件,调用原始的 addEventListener 方法
            originalAddEventListener.call(this, type, listener, options);
        }
    };
    // 使用 setTimeout 来延迟执行循环体

    // setTimeout(function() {
    //     do {
    //         var watermark = document.getElementById('water-mark');
    //         if (watermark) {
    //             watermark.remove();
    //         }
    //     } while (watermark !== undefined);
    // }, 0);
    await sleep(2000);
    document.getElementById('water-mark') &&  document.getElementById('water-mark').remove();
    document.getElementById('water-mark') && document.getElementById('water-mark').remove();
    // console.log('MutationObserver');
    setTimeout(() => {
        console.log('3');
        document.getElementById('water-mark').remove();
        setTimeout(() => {
            if(document.getElementById('water-mark')===null) {
                alert('去除水印成功!');
            }
        }, 1000);
    },1000)

}



/**
 * 创客贴
 * https://www.chuangkit.com/odyssey/design
 */
var doChuangKeTie=()=>{
    document.querySelector('.personal-share-design-warp-btn').click()
    setTimeout(() => {
        var chuangkitURL=document.querySelector('.link-text').innerText
        var chuangkitWindow=window.open(chuangkitURL)
        setTimeout(()=>{
            console.log('sencond page loaded');
            let mydom=chuangkitWindow.document
            //图片链接
            let chuangkitImgURL=mydom.querySelector('img[alt="设计缩略图"]')
            console.log('chuangkitImgURL',chuangkitImgURL);
        },3000)
        chuangkitWindow.onload=()=>{
            console.log('sencond page loaded');
            let mydom=chuangkitWindow.document
            //图片链接
            let chuangkitImgURL=mydom.querySelector('img[alt="设计缩略图"]')
            console.log('chuangkitImgURL',chuangkitImgURL);
        }
    },1000);
}
function downloadImage(url, filename) {
    var link = document.createElement('a');
    link.href = url;
    link.download = filename;
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
}
async function sleep(time) {
    console.log('睡眠' + time / 1000 + 's')
    //if(time < 1000)time=1000
    return await new Promise((resolve) => setTimeout(resolve, time));
}
})();