首页 > 其他分享 >GM_registerMenuCommand()注册菜单模板,TemperMonkey油猴脚本开发

GM_registerMenuCommand()注册菜单模板,TemperMonkey油猴脚本开发

时间:2024-10-08 14:22:51浏览次数:8  
标签:TemperMonkey registerMenuCommand grant menu getValue Func GM

注册菜单

  1. 点击事件
  2. 注册实例
  3. 设置默认值
  4. 将handle(手握实例的变量)赋值给一个变量
function menu_Func_click() {
    GM_setValue('Func', !GM_getValue('Func'));  // 开关
    GM_unregisterMenuCommand(menu_Func);  //卸载再注册
    // 强制等待下一个事件循环
    setTimeout(() => {
        menu_Func = menu_Func_regist();
    }, 0);
};
function menu_Func_regist() {
    return GM_registerMenuCommand(
        `${GM_getValue('Func') ? '✅' : '❌'}`,
        menu_Func_click,
        {
            accessKey: 'f',
            autoClose: false
        }
    );
};
if (GM_getValue('Func') === undefined) GM_setValue('Func', true);
let menu_Func = menu_Func_regist();

别的脚本采用了全部刷新的策略,用list然后全部遍历更新

chrome系利用@require调试本地脚本

https://www.cnblogs.com/hyaray/p/7509572.html

// ==UserScript==
// @name         Local Script DEBUG
// @namespace    http://tampermonkey.net/
// @version      2024-10-08
// @description  try to take over the world!
// @author       You
// @match        https://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_deleteValue
// @require      file:///home/root/my_local_script.js
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
})();

资源

https://learn.scriptcat.org/油猴教程/中级篇/本地文件访问权限与外部开发/

标签:TemperMonkey,registerMenuCommand,grant,menu,getValue,Func,GM
From: https://www.cnblogs.com/nolca/p/18451553

相关文章

  • 总结一下哪些情况会导致Segmentation fault 哪些情况会导致 Aborted
    Segmentationfault(段错误)和Aborted(中止)是两种不同的程序运行时错误。它们通常与不同的原因相关联,尽管最终都导致程序非正常终止。导致Segmentationfault的情况:段错误通常由于程序试图访问其没有权限的内存区域或者不存在的内存地址造成的,具体情况包括:解引用空指针: 试图访......
  • abc371E I Hate Sigma Problems
    给定长度为N的数组A[i],记f(l,r)表示区间[l,r]内不同A[i]的个数,求所有子区间f(i,j)之和。1<=N<=2E5,1<=A[i]<=N分析:贡献法,为了方便统计,区间中重复的数字以最左边出现的数为准,保证不重不漏。对于A[i],假设其上一次出现的位置为p,那么包含该数字的左端点可以是p+1,p+2,...,i,右端点可......
  • 龙OL刺绣端单机版+免虚拟机+GM无限元宝百级神器
    今天给大家带来一款单机游戏的架设:龙OL刺绣端单机版。另外:本人承接各种游戏架设(单机+联网)本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。如果你是小白也没问题,跟着教程走也是可以搭建......
  • [亲测]君临九州+单机安装教程+无需虚拟机+GM后台
    今天给大家带来一款单机游戏的架设:君临九州,版本号:1.0.12.30。另外:本人承接各种游戏架设(单机+联网)本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。如果你是小白也没问题,跟着教程走也是可......
  • SpringMVC内容
    SpringMVC简介SpringMVC(Model View Controller)是以ServletAPI为基础的Web框架并可以部署到Servlet容器(比如:Tomcat),是控制层框架,主要负责与前端交互,接收前端的参数,在服务层进行交互,并把结果返回会前端页面。SpringMVC工作原理当发送请求的时候,DispatcherServlet(中调度......
  • [AGC056B] Range Argmax
    发现一个序列\(x\)不止可以用一个\(p\)得到,肯定不能直接计数,考虑构造一个映射。假如已经定下了\(x\),我们通过一种固定的操作得到\(p\),这样就能改为统计可以由操作得到的\(p\)的数量,他们同样唯一对应一个\(x\)。我们考虑枚举从\(n\)到\(1\)去枚举\(v\),对每个\(v\)......
  • 'Note' - 'SIGMOD24' - SeRF - Segment Graph for Range-Filtering (RF) Approximate
    Abstract:就是ANNS加了一个范围查询(每个点多个属性,每次查询一个区间),为啥不是线段树来着。他说《SegmentGraph(查前缀\(O(n)\))》《2DSegmentGraph(查区间构建\(O(n\logn)\))》2.Preliminary有太多ANNs负责优化找到的正确率??2.1问题定义\(I_A\)属性区间\(\mathcal......
  • CF2018E2 Complex Segments (Hard Version) 题解
    题目描述\(T\)组数据,给定\(n\)条线段\([l_i,r_i]\),称一个线段集合是复杂的,当且仅当:它可以被划分成若干个大小相等的线段组。两条线段相交当且仅当它们在同一组。求用这\(n\)条线段构成的复杂线段集合的最大值。数据范围\(1\len,\sumn\le3\cdot10^5\)。\(1\l......
  • CF429E Points and Segments 题解
    题目链接点击打开链接题目解法真难啊/yun把区间染成红色看作区间\(+1\),染成蓝色看作区间\(-1\),要求是每个点上的数\(\in\{-1,0,1\}\)可以选择的数有\(-1,1\)不太好做,我们考虑将限制变成每个点上的数只能为\(0\)我们记经过点\(x\)的线段数量为\(cnt_x\)如果\(cnt......
  • Sigmastar SSD201芯片_智能高清显示解决方案
    一、方案描述:SSD201是高度集成的智能高清显示解决方案,主芯片为ARMCortexA7,dulecore,1.2GHz;SSD201内置DDR2,512Mb;支持H.264/H.265解码;支持2D图形引擎;支持MIPI和TTL接口显示屏,分辨率可高达1920x1080@60fps;支持SPI-Nor/NandFlash;支持两路Ethernetports;Built-inR......