您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
自用
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/455875/1123966/AkiLib.js
// ==UserScript== // @name AkiLib // @namespace http://tampermonkey.net/ // @version 1.0 // @license WTFPL // @description 自用 // @author scientificworld // @require https://unpkg.com/[email protected]/js/md5.min.js // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand // ==/UserScript== class AkiLib { getMenuValue(obj) { return GM_getValue(`_aki_menu${obj.ident}`, obj.dflt); } _setMenuData(ident, val) { GM_setValue(`_aki_menu${ident}`, val); } _getMenuData(ident) { console.log(`_aki_menu${ident}`) return GM_getValue(`_aki_menu${ident}`); } #setupMenu(descr, val) { let ident = md5(descr); if (this._getMenuData(ident) === undefined) this._setMenuData(ident, val); return ident; } createNormalMenu(descr, dflt="") { let ident = this.#setupMenu(descr, dflt); GM_registerMenuCommand(`\u2b55 ${descr}`, () => { let tmp = window.prompt(descr, this._getMenuData(ident)); if (tmp !== null) this._setMenuData(ident, tmp); }); return { ident: ident, descr: descr, dflt: dflt }; } createCheckboxMenu(descr, dflt=false) { let ident = this.#setupMenu(descr, dflt); GM_registerMenuCommand( `${this._getMenuData(ident) ? '\u2705' : '\u274e'} ${descr}`, () => { this._setMenuData(ident, !(this._getMenuData(ident))); } ); return { ident: ident, descr: descr, dflt: dflt }; } } let aki = new AkiLib();