您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Upload code into sites >:)
// ==UserScript== // @name Sinject // @version 1.0 // @namespace https://ironswordx-dev.repl.co // @license MIT // @description Upload code into sites >:) // @author ironswordX // @match *://*/* // @icon data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIGZpbGw9IiMwMDAwMDAiIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgDQoJIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDkyLjE3OSA5Mi4xOCINCgkgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNNzMuNDM3LDM2LjU0di05LjE5MkM3My40MzcsMTIuMjY4LDYxLjE2OSwwLDQ2LjA5LDBTMTguNzQ0LDEyLjI2OCwxOC43NDQsMjcuMzQ4aDExLjM1NQ0KCQljMC04LjgxOCw3LjE3My0xNS45OTIsMTUuOTkxLTE1Ljk5MmM4LjgxNywwLDE1Ljk5MSw3LjE3NCwxNS45OTEsMTUuOTkydjkuMTkySDkuODg0djU1LjY0aDcyLjQxMVYzNi41NEg3My40Mzd6IE01MC42MDksNzEuMTE1DQoJCVY4My4zM2gtOS4wMzdWNzEuMTE1Yy0yLjEwMi0xLjQ0MS0zLjQ4Mi0zLjg1OC0zLjQ4Mi02LjZjMC00LjQxOCwzLjU4Mi04LDgtOHM4LDMuNTgyLDgsOA0KCQlDNTQuMDksNjcuMjU3LDUyLjcxLDY5LjY3NCw1MC42MDksNzEuMTE1eiIvPg0KPC9nPg0KPC9zdmc+ // @grant GM_info // ==/UserScript== 'use strict'; const Meta = GM_info.script const disabled_urls = ['about:blank', 'about:blank#blocked'] const css = "body {\nbackground-color:#A9A9A9\n}\nh1 {\nfont-family: Verdana, Tahoma, sans-serif;\n}" if (disabled_urls.includes(window.location.href)) return; function openNewWin() { let win = window.open('', '', 'height=400,width=200'); return win; } function createElm(doc, headOrBody = "body", type, args=[]) { let el = doc.createElement(type); if (args.length > 0) { for (let i = 0; i < args.length; i++) { let inf = args[i] el.setAttribute(inf.key, inf.value) } } if (headOrBody === "head") { doc.head.appendChild(el) } else if (headOrBody === "body") { doc.body.appendChild(el) } void 0; } function setInner(doc, id, type, string) { let element = doc.getElementById(id); if (type === 'text') { element.innerText = string; } else if (type === 'html') { element.innerHTML = string; } else { element.innerText = string; } void 0; } function createBreak(docu) { createElm(docu, "body", "br") createElm(docu, "body", "hr") createElm(docu, "body", "br") } function erudaLoaderFunc() { let script = document.createElement('script'); script.src="https://cdn.jsdelivr.net/npm/eruda"; document.body.append(script); script.onload = function () { eruda.init(); } void 0; } let sinjectWinOn = false document.addEventListener('keyup', function(event) { if (sinjectWinOn) return; if (event.key.toLowerCase() === 'alt') { let sinjectWinOn = true; const editor = openNewWin(); const editDoc = editor.document; editDoc.writeln(`<head><title>${Meta.name}</title></head><body><h1>${Meta.name} v${Meta.version}</h1></body>`); createElm(editDoc, "head", 'style', [{key: 'id', value: 'cssLoader'}]); setInner(editDoc, 'cssLoader', 'text', css) createBreak(editDoc) createElm(editDoc, "body", 'textarea', [{key:'id',value:'textInput'}, {key: 'style', value:'resize:vertical;min-height:60px'}]); createElm(editDoc, "body", 'button', [{key: 'id', value:'submitButton'}, {key: 'style', value: 'data-inline=true'}]); createElm(editDoc, "body", 'button', [{key: 'id', value:'erudaBtn'}, {key: 'style', value: 'data-inline=true'}]); setInner(editDoc, 'submitButton', 'text', 'Inject!') editDoc.getElementById('submitButton').onclick = function() { let code = editDoc.getElementById('textInput').value; createElm(document, "body", 'script', [{key: 'id', value: 'scriptInjector'}]); document.getElementById('scriptInjector').innerText = code; sinjectWinOn = false; editor.window.close(); } setInner(editDoc, 'erudaBtn', 'text', 'Eruda console'); editDoc.getElementById('erudaBtn').onclick = function() { erudaLoaderFunc(); sinjectWinOn = false; editor.window.close(); }; } }, false)