Greasy Fork is available in English.
A Simple Extension Manager
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/441384/1027332/ExtMan.js
独立用户脚本做附加模块框架。Host和Module都需要引用此脚本。
Host:
const ExtMan = unsafeWindow.getExtMan();
const ext = new ExtMan({
name: "YourHostScriptNamespace",
requiredProperties:{// specify this for module precheck or leave this empty object to skip precheck
name:"string",
version:"string",
onhook: (prop, fullmodule, propname)=>true // custom checker
}
});
ext.getAllModules();// get all registered module with precheck, return an array
External Module:
const ExtMan = unsafeWindow.getExtMan();
const ext = new ExtMan({
name: "TheNamespaceOfYourHostScript",
});
ext.registerModule({// register your module with object like this. Make sure your module script load before the host script!
name: "...",
//...
});