Devtool mobile

모바일에서 개발자도구를 열 수 있게 합니다.

От 24.02.2025. Виж последната версия.

// ==UserScript==
// @name         Devtool mobile
// @version      1.0
// @description  모바일에서 개발자도구를 열 수 있게 합니다.
// @author       ㅇㅇ
// @license      MIT
// @match        *://*/*
// @grant        none
// ! @downloadURL https://m.dcinside.com/board/sff
// ! @updateURL https://m.dcinside.com/board/adguard
// @namespace https://greasyfork.org/users/1426529
// ==/UserScript==

(function () {
    'use strict';

    var erudaLoaded = false;
    var erudaScript = null;

    function loadEruda() {
        if (!erudaLoaded) {
            erudaScript = document.createElement('script');
            erudaScript.src = "//cdn.jsdelivr.net/npm/eruda";
            document.body.appendChild(erudaScript);

            erudaScript.onload = function () {
                eruda.init();
                eruda.show();
                erudaLoaded = true;
                localStorage.setItem('erudaLoaded', 'true');
            };
        }
    }

    function unloadEruda() {
        if (erudaLoaded) {
            eruda.destroy();
            document.body.removeChild(erudaScript);
            erudaScript = null;
            erudaLoaded = false;
            localStorage.setItem('erudaLoaded', 'false');
        }
    }

    var touchTimeout;
    document.addEventListener('touchstart', function (e) {
        if (e.touches.length === 2) {
            touchTimeout = setTimeout(function () {
                erudaLoaded ? unloadEruda() : loadEruda();
            }, 2000);
        }
    });

    document.addEventListener('touchend', function () {
        if (touchTimeout) {
            clearTimeout(touchTimeout);
        }
    });

    document.addEventListener('keydown', function (e) {
        if (e.ctrlKey && e.shiftKey && e.key==='R') {
            erudaLoaded ? unloadEruda() : loadEruda();
        }
    });

    if (localStorage.getItem('erudaLoaded') === 'true') {
        loadEruda();
    }
})();