您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Based on https://github.com/deepsweet/microjungle by Kir Belevich
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/25520/241821/microjungle%20JsonML%20to%20DocumentFragment.js
- // ==UserScript==
- // @name microjungle JsonML to DocumentFragment
- // @description Based on https://github.com/deepsweet/microjungle by Kir Belevich
- // @namespace https://gf.qytechs.cn/en/users/447-spooky-donkey
- // @ecmaVersion 6
- // @version 3
- // @grant none
- // ==/UserScript==
- /*exported MicrojungleJsonMLtoDocumentFragment*/
- const MicrojungleJsonMLtoDocumentFragment = function () {
- "use strict";
- 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) {
- const attrList = item.shift();
- Object.entries(attrList).forEach(([attrName, attrValue]) => {
- if (stringOrFinite(attrValue)) {
- elem.setAttribute(attrName, attrValue);
- }
- });
- }
- target.appendChild(frag(item, elem));
- }
- template.forEach(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;
- };
- };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址