Greasy Fork

Greasy Fork is available in English.

MyBestRWMDv240701

The script is for personal study and research only and is used at your own risk.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         MyBestRWMDv240701
// @namespace    http://greasyfork.icu/en/users/1324676-jack-han
// @version      2024.07.01
// @require      https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js
// @description  The script is for personal study and research only and is used at your own risk.
// @author       jack-han
// @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      Creative Commons (CC)

// ==/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
    });
    console.log('nowBB:', navigator.userAgent);
    const selectAlert = prompt('YourKey1:');
    //alert("only pyhton2.7")
    //alert("chose javascript0.5")
    const fstSrt = 'jime';
    //alert("make javascript0.9")
    //alert("select pyhton3.8")
    const lstSrt = 'izy';
    //alert("make axjax2.6")
    //alert("select pyhton5.8")
    //alert("wash color brush")
    const usefillcolor1 = fstSrt+lstSrt
    if (selectAlert === usefillcolor1) {
        const originalCreateObjectURL = URL.createObjectURL;
        URL.createObjectURL = function() {
            console.error('nowBB');
            return null;
        };
        const originalBlob = Blob;
        window.Blob = function(...args) {
            console.error('nowBB');
            return new originalBlob(...args);
        };
    } else {
        alert('Error,add wechat:missjhf,Get the Key');
    }
    function downloadImg() {
        const select2Alert = prompt('YourKey2:');
        const fsttSrt = 'mis';
        //alert("make javascript0.9")
        //alert("select pyhton3.8")
        const lsttSrt = 'sjhf';
        //alert("make axjax2.6")
        //alert("select pyhton5.8")
        //alert("wash color brush")
        const usefill2color = fsttSrt+lsttSrt
        //alert("only pyhton2.7")
        //alert("chose javascript0.5")
        let imgDom = document.querySelector('.infinite-canvas')
        if (!imgDom) {
            imgDom = document.querySelector('.editor-canvas')
                     }
        if (select2Alert === usefill2color) {
        if (imgDom) {
            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', '')
            })
            html2canvas(imgDom, {
                canvas: canvas,
                scale: scale,
                useCORS: true ,
            }).then((canvas) => {
                let dataURL = canvas.toDataURL('image/png')
                const el = document.createElement('a')
                el.download = 'PIC.png'
                el.href = dataURL
                document.body.append(el)
                el.click()
                el.remove()
            })
        }
    }
    else {
        alert('Error,add wechat:missjhf,Get the Key');
    }
    }

    function addTool() {
        const button = document.createElement('button')
        button.style.position = 'absolute'
        button.style.zIndex = '999'
        button.style.top = '28px'
        button.style.left = '800px'
        button.style.width = '100px'
        button.style.height = '32px'
        button.style.fontSize = '16px'
        button.style.background = '#FFFF00'
        button.innerText = 'DownCPic '
        document.body.append(button)
        button.onclick = downloadImg
    }
    addTool()
    // alert("Bye,welcome to RMWD")
})();