您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a bootstrap function for easier startup of wmeSdk, WazeWrap, and ScriptUpdateMonitor.
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/509664/1461898/WME%20Utils%20-%20Bootstrap.js
Waits for SDK_INITIALIZED and the wme-ready event, and returns an instance of the WmeSdk class initialized with your script's name and ID. Optionally, it will also wait for WazeWrap.isReady and start WazeWrap.Alerts.ScriptUpdateMonitor.
Usage:
bootstrap(options);
returns Promise<WmeSdk>
Examples:
// Add this to your userscript header:
// @require https://update.gf.qytechs.cn/scripts/509664/WME%20Utils%20-%20Bootstrap.js
// If using WazeWrap and/or its ScriptUpdateMonitor feature, be sure to also include this in the userscript header:
// @require https://gf.qytechs.cn/scripts/24851-wazewrap/code/WazeWrap.js
// USE ONE OF THREE METHODS TO CALL BOOTSTRAP AND RETRIEVE AN INSTANCE OF WME SDK:
// 1. Pass a callback function in the options object.
// bootstrap({ callback: init });
// 2. Use a Promise.then() function
// bootstrap().then(sdk => init(sdk));
// 3. Use async/await
// const wmeSdk = await bootstrap();
// Below are some examples showing additional option object properties:
// METHOD 1: PASS A CALLBACK FUNCTION
let wmeSdk; // A "global" variable to store your WmeSdk reference.
function init(sdk) { // sdk is passed to init (callback function) by bootstrap
// Store the reference to the sdk
wmeSdk = sdk;
// The rest of your init code...
}
// Waits for the SDK and returns it as an argument in a callback to init. Since scriptName and scriptId aren't passed, the script name will come from GM_info and scriptId will be the script name with any spaces stripped.
bootstrap({ callback: init });
// METHOD 2: USE A .THEN() FUNCTION
// Waits for the SDK and WazeWrap, then calls init in a .then() function.
bootstrap({
scriptName: 'My Script', // can be excluded if GM_info.script.name is ok
scriptId: 'myScript', // can be excluded if you are ok with scriptId = script name with spaces removed
useWazeWrap: true,
}).then(sdk => {
console.log('Bootstrap succeeded.');
init(sdk);
});
// METHOD 3: USE ASYNC/AWAIT
// Assigns the SDK directly to wmeSdk after the SDK and WazeWrap are ready, and starts ScriptUpdateMonitor.
// NOTE: if using await, the outer function must be declared async, e.g. your IIFE
wmeSdk = await bootstrap({
scriptName: 'My Script', // can be excluded if GM_info.script.name is ok
scriptId: 'myScript', // can be excluded if you are ok with scriptId = script name with spaces removed
scriptUpdateMonitor: {
scriptVersion: '1.0', // can be excluded if GM_info.script.version is ok
downloadUrl: 'https://...',
metaUrl: 'https://...', // GF scripts don't typically need this
metaRegExp: /some regex/ // GF scripts don't typically need this
}
});
init(); // The sdk parameter should be removed from the init function since wmeSdk is assigned directly above.
The options object passed to bootstrap:
bootstrap(...).then(sdk => init(sdk));
or sdk = await bootstrap(...); init();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址