您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a shortcut(Shift + Ctrl/Alt/Option + F) and context menu option to prettify code selection.
// ==UserScript== // @name Prettify JSON Selection // @namespace vengut.github.io // @version 2024-10-10 // @description Adds a shortcut(Shift + Ctrl/Alt/Option + F) and context menu option to prettify code selection. // @license MIT // @author Venkat G // @match *://*/* // @icon data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📄</text></svg> // @grant GM_registerMenuCommand // ==/UserScript== (function () { "use strict"; GM_registerMenuCommand("Prettify", prettifyJson); document.querySelector("body").addEventListener("keydown", (event) => { console.log(event.key); // Shift + Ctrl/Alt/Option + F if (event.shiftKey && (event.altKey && event.ctrlKey) && (event.key === "Ï" || event.key === "F")) { prettifyJson(); } }); function prettifyJson() { try { let text = ""; // https://stackoverflow.com/a/5379408 if (window.getSelection) { text = window.getSelection().toString(); } else if (document.selection && document.selection.type != "Control") { text = document.selection.createRange().text; } const json = JSON.stringify(JSON.parse(text), null, 2); const blob = new Blob([json], { type: "application/json" }); const blobUrl = URL.createObjectURL(blob); window.open(blobUrl); } catch (err) {} } })();