您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
修改 Skulpt 以添加加载 js 库功能。
当前为
// ==UserScript== // @name SkPatcher // @version 0.2.2 // @description 修改 Skulpt 以添加加载 js 库功能。 // @author lrs2187 // @license MIT // @match *://code.xueersi.com/* // @match *://turtle.codemao.cn/* // @grant none // @run-at document-start // @namespace https://code.xueersi.com/ // ==/UserScript== (function() { 'use strict'; var counts = 0; function waitForSkulpt() { if (typeof Sk === 'undefined') { counts = counts + 1; if (counts >= 60) { console.log("SkPatcher.waitForSkulpt 1 minutes out. Unlistening..."); return; } setTimeout(waitForSkulpt, 1000); } else { console.log("SkPatcher.waitForSkulpt Sk created! Injecting..."); injectCustomImport(); } } function injectCustomImport() { Sk.builtins.__import__ = function(lib_url, lib_name) { console.log('SkPatcher.__import__ got url ', lib_url, ' name ', lib_name); var request = new XMLHttpRequest(); request.open('GET', lib_url.v, false); request.send(null); if (request.status === 200) { var data = request.responseText; console.log("SkPatcher.__import__ Loaded " + lib_url.v + "! Adding lib..."); var file_data = lib_url.v.split("."); var type = file_data[file_data.length - 1]; var file_name = "src/lib/" + lib_name.v + "." + type; Sk.builtinFiles.files[file_name] = data; } else { console.log("SkPatcher.__import__ Can't load " + lib_url.v + "."); } } console.log("SkPatcher.injectCustomImport Success to add __import__ function!"); } console.log("SkPatcher Try to listen Sk."); waitForSkulpt(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址