您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Shared library for TankTrouble userscript development
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/482092/1294933/TankTrouble%20Development%20Library.js
- // ==UserScript==
- // @name TankTrouble Development Library
- // @author commander
- // @namespace https://github.com/asger-finding
- // @version 0.0.2
- // @license GPL-3.0
- // @description Shared library for TankTrouble userscript development
- // @match *://*.tanktrouble.com/*
- // @grant none
- // @run-at document-start
- // @noframes
- // ==/UserScript==
- /* jshint esversion: 8 */
- /**
- * Fires when the document is readyState `interactive` or `complete`
- * @returns Promise that resolves upon content loaded
- */
- const contentLoaded = () => new Promise(promiseResolve => {
- if (document.readyState === 'interactive' || document.readyState === 'complete') promiseResolve();
- else document.addEventListener('DOMContentLoaded', () => promiseResolve());
- });
- /**
- * Fires when the `main()` function is done on TankTrouble.
- * @returns Promise that resolves upon content initialized
- */
- const contentInitalized = () => new Promise(promiseResolve => {
- contentLoaded().then(() => {
- const contentInitHook = Content.init;
- Reflect.defineProperty(Content, 'init', {
- /**
- * Resolve after Content.init call finishes
- *
- * @param args Arguments to pass
- */
- value: (...args) => {
- contentInitHook(...args);
- promiseResolve();
- }
- });
- });
- });