您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Based on https://github.com/deepsweet/microjungle
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://updategreasyfork.deno.dev/scripts/25520/162139/microjungle%20JsonML%20to%20DocumentFragment.js
// ==UserScript== // @name microjungle JsonML to DocumentFragment // @description Based on https://github.com/deepsweet/microjungle // @namespace https://gf.zukizuki.org/en/users/447-spooky-donkey // @version 1 // @grant none // ==/UserScript== function MicrojungleJsonMLtoDocumentFragment() { return function frag(template, target = document.createDocumentFragment()) { if (!Array.isArray(template)) { return target; } const stringOrFinite = a => typeof a === "string" || typeof a === "number" && isFinite(a); function createElement(item, s = item[1]) { const elem = document.createElement(item.shift()); if (!!s && s.constructor === Object) { let attrList = item.shift(); Object.keys(attrList).forEach(function (attrName) { const attrValue = attrList[attrName]; if (stringOrFinite(attrValue)) { elem.setAttribute(attrName, attrValue); } }); } target.appendChild(frag(item, elem)); } template.forEach(function (item) { if (stringOrFinite(item)) { target.appendChild(document.createTextNode(item)); } else if (item) { if (typeof item[0] === "string") { createElement(item); } else if (item.nodeType) { target.appendChild(item); } else { frag(item, target); } } }); return target; }; }