vscode开发油猴插件环境配置指南

2023-11-09

一、环境配置

1.1油猴插件开始编写代码

  1. 在vscode 中写入如下代码‘
// ==UserScript==
// @name         cds_test
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://bbs.tampermonkey.net.cn/thread-88-1-1.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net.cn
// @grant        none
// @require      file:///Users/chendongsheng/github/force_mokey/first_test/cds.js
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    alert("cds first hello world")
})();

其中的注释有几个需要注意的:

  • name 该属性描述油猴这个插件的名字
  • match 该属性描述在那些网址,该插件生效
  • require 该属性描述该脚本依赖本地的文件地址,一般用于本地开发
  1. 打开浏览器,新建一个油猴脚本,然后讲开头的注释粘贴进去
    在这里插入图片描述
  2. 更新本地vscode内的文件代码,则会同步更新到该插件运行时。
  • 实际演示效果
    在这里插入图片描述
    如果要让从本地拿代码运行,还需要配置一些权限,配置方法请参考下面章节

1.2油猴插件配置

1.2.1浏览器插件权限

  1. 打开油猴浏览器插件设置
    在这里插入图片描述
  2. 打开访问本地文件权限
    在这里插入图片描述

1.2.2插件自身权限

1.进入管理面板

在这里插入图片描述

  1. 进入安全,准许反问本地文件
    在这里插入图片描述
    在这里插入图片描述

2. 油猴脚本API学习

油猴插件自身的设置里面,是有AP I文档的,但是比较奇怪,叫做支持~
API分为2个部分,第一部分是在讲头文件的配置方法,第二部分是在讲油猴自身的API。
在这里插入图片描述

2.1 头文件

@name   插件的名字
@version   插件的版本
@description 描述部分
@grant 类似C语言的include,python的import
@author 作者

@require https://code.jquery.com/jquery-2.1.3.min.js#sha256=23456...
@require 加载资源,支持md5和sha256验证

@include 加载资源

@match 在那些网址上启用该插件,支持正则匹配。
// @match *://*/*
// @match https://*/*
// @match http://*/foo*
// @match https://*.tampermonkey.net/foo*bar

@exclude 排除哪些网址

2.2 油猴API

  • 添加属性
GM_addElement(tag_name, attributes), GM_addElement(parent_node, tag_name, attributes)

GM_addElement('script', {
  textContent: 'window.foo = "bar";'
});

GM_addElement('script', {
  src: 'https://example.com/script.js',
  type: 'text/javascript'
});

GM_addElement(document.getElementsByTagName('div')[0], 'img', {
  src: 'https://example.com/image.png'
});

GM_addElement(shadowDOM, 'style', {
  textContent: 'div { color: black; };'
});
  • 添加css
GM_addStyle(css)
  • 下载
GM_download(details), GM_download(url, name)
  • 获取资源文本
GM_getResourceText(name)

const scriptText = GM_getResourceText("myscript.js");
const script = document.createElement("script");
script.textContent = scriptText;
document.body.appendChild(script);
  • 获取资源URL
GM_getResourceURL(name)

const imageUrl = GM_getResourceURL("myimage.png");
const image = document.createElement("img");
image.src = imageUrl;
document.body.appendChild(image);

  • 打印日志
GM_log(message)
  • 通知
GM_notification(details, ondone), GM_notification(text, title, image, onclick)
  • 新开一个标签页
GM_openInTab(url, options), GM_openInTab(url, loadInBackground)
  • 注册菜单
GM_registerMenuCommand(name, callback, options_or_accessKey)
  • 删除菜单
GM_unregisterMenuCommand(menuCmdId)
  • 设置用户粘贴板内容
GM_setClipboard(data, info)
  • 关于tab的几个函数

    • 获取tab
    • 保存tab
  • KV

GM_setValue(key, value)
GM_getValue(key, defaultValue)
GM_deleteValue(key)
GM_listValues()
GM_addValueChangeListener(key, (key, old_value, new_value, remote) => void)
GM_removeValueChangeListener(listenerId)
  • 发送HTTP请求
GM_xmlhttpRequest(details)
GM_webRequest(rules, listener)

  • cookie部分的API不常用, 暂时不记录。

  • window管理

    • window.onurlchange
    • window.close
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode开发油猴插件环境配置指南 的相关文章

  • 编写自定义重构脚本的最佳 Java 库是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Clojure 开发:IDE 还是 REPL?

    我已经使用 Clojure 一段时间了 想要创建一些比玩具更大 更复杂的项目 过去几年我一直在使用 Java 并且已经习惯了 IDE 为我所做的事情 编译大量类 将它们打包在 jar 中 创建批处理文件供用户启动它们 当我查看 Clojur
  • 包 android.support.v4.app 不存在;在Android Studio 0.8中

    我最近将 android studio IDE 更新至 0 8 以与新的 android L SDK 配合使用 首先 我导入了一个已完成的 android 项目 该项目在旧版本的 android studio 中没有收到任何错误 在版本 0
  • 如何清除“运行”->“参数”菜单中的“参数”字段?

    我正在使用 CodeGear RAD Studio IDE 为了使用命令行参数测试我的应用程序 我多次使用 运行 gt 参数 菜单中的 参数 字段 但每次我为它提供一个新值时 它都无法从 下拉框 中删除 我需要清理这个字段 删除所有值 因为
  • 在 Ubuntu18 上打开 Spyder3 时缺少依赖项导致密钥环错误?

    我对编程之类的东西相当陌生 我正在尝试使用 Spyder3 但不断收到此错误 如下 我使用的是Geforce 1080ti Ubuntu 18 04 01 python3 3 6 python2没有安装 我尝试了 pip3 install
  • Lighttable,设置字体大小

    我是 Light Table IDEAS 的新手 有谁知道如何设置workspace和 Windows 字体大小 我可以更改编辑器字体大小 但不知道如何设置font size对于其他元素 或者更改所有 IDE 字体的全局字体大小 打开命令窗
  • 用于 Java 项目的 NetBeans 远程编辑?

    我的项目使用了 Play 框架 所以我不需要可以编译的编辑器 我通常喜欢 NetBeans 但希望远程编辑服务器上的源文件以节省时间 我还经常在台式机 上网本之间切换进行开发 因此远程编辑可以使我免于同步开发环境 我对 Netbeans 远
  • Eclipse 中是否有键盘快捷键可以折叠当前方法/块?

    问题说明了一切 我在 Eclipse v3 4 中打开了折叠功能 并且不必单击页面装订线中的小 我想知道是否有一个键盘快捷键 折叠当前方法 快速浏览一下 Eclipse 中的菜单和其他内容不会显示它的菜单项 所以也许您无法做到这一点 Any
  • Netbeans 将 css 变量显示为错误

    当我使用 css 变量时 我的 Netbeans IDE 显示错误 例如 这行代码将返回错误 root main bg color dad66f title color var main bg color 我在网上找到了这个解决方案 htt
  • IntelliJ Idea 15 显示依赖包和项目包

    IntelliJ Idea 15 CE 在项目的包视图中显示来自库 依赖项的包 仅当项目的根包与某些依赖项的根包相同时才会发生这种情况 对于前 我的项目的根包是org 所以所有的依赖关系也有org包状org apache logging也被
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Eclipse 中突出显示修改的行

    在 netbeans 中 如果我打开一个受版本控制的文件 则修改的行会在左侧突出显示 绿色表示新行 蓝色表示修改行 在Eclipse中是否可以得到类似的效果 打开首选项窗口 搜索 差异 选择快速差异 将 使用此参考源 更改为 SCM 提供程
  • 防止 Visual Studio Code 或 IDE 泄露 Python 类私有方法

    只是想问一个简单的问题 本质上 我想知道是否可以从 Visual Studio Code 或其他 IDE 提供的建议列表中隐藏 Python 类私有方法 例如 假设我们有一个类 A Creating a class class A Decl
  • vs2008中的线程窗口在哪里

    我试图在 VS 2008 中找到描述的线程窗口here http www wintellect com cs blogs jrobbins archive 2007 08 01 neat new multithreaded debuggin
  • R 编程常用工具

    如果已经以不同的方式问过这个问题 我深表歉意 但我找不到任何达到我想要的东西 我真的是从其他软件包 SPSS 开始接触 R 的 当我了解真正可以做什么时 我意识到我还需要其他 工具 这让我想到了我的问题 您有哪些用于开发 R 代码的设置 我
  • Netbeans 自动完成功能停止工作?

    我使用的是 Netbeans 6 9 1 一切都很好 但是突然间 它停止检测对代码所做的任何更改 例如新变量 函数等 如果我尝试重构 重命名变量 例如按 CTRL R 它说 重构在此上下文中不可用 如果重要的话 它在 PHP 项目中 有任何
  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • Aptana Studio 3 上的预览选项卡在哪里?

    我在 Windows PC 上使用 Aptana Studio 2 并有一个选项卡用于在 IE 上预览页面 另一个选项卡用于在 Firefox 上预览 但我切换到了 Aptana 3 我不知道是没有预览还是我没有找到它 是的 我在 stac
  • JavaScript IDE/编译器

    现在 我希望你们中的一些人能够理解我的要求 我是编程新手 我在 Codecademy com 上了解了 JavaScript 我使用 labs codecademy com 来编写 JavaScript 但它有限制 对于编程新手来说 我可以
  • Eclipse:C/C++ 插件下载链接?

    我下载了 Eclipse 3 5 1 的 Java EE 版本 我现在可以使用它通过适当的插件来编辑 C C 吗 我去了Help gt gt 安装新软件但我不知道使用哪个 URL 来获取 C C 插件 我在 Eclipse 网站上也找不到它

随机推荐

  • 弱电流源是怎么实现的,咱们来仿个真

    原文来自公众号 工程师看海 在我们电子电路设计中 有两种电源 一种是电压源 另一种是电流源 相比于电压源 电流源的使用场景稍微少一点 今天 结合仿真 介绍下一种基于运放的微弱电流源基本实现原理 理论计算与仿真验证相结合 写的清晰易懂 保证一
  • oracle clob raw 转换,ORA-22835: 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小...

    报错信息 Tue Jan 06 09 34 24 2015 Errors in file ggs oracle log diag rdbms orayy3 oyy3a trace oyy3a ora 10028532 trc ORA 228
  • FastAPI 返回图像

    记录一下 我在网上找了好久都不太管用 from fastapi import FastAPI from fastapi import FastAPI File UploadFile Response from fastapi respons
  • arduino控制28byj48步进电机

    写了一个arduino控制28byj48步进电机的程序 主要用于下面这种五线四相步进电机 代码 include
  • Jmeter(十一) - 从入门到精通 - JMeter逻辑控制器 - 下篇(详解教程)

    1 简介 Jmeter官网对逻辑控制器的解释是 Logic Controllers determine the order in which Samplers are processed 意思是说 逻辑控制器可以控制采样器 samplers
  • 图像去噪小波算法的GUI实现(Matlab源代码)

    介绍 本文将介绍如何使用Matlab实现一个带有图形用户界面 GUI 的图像去噪小波算法 小波算法是一种常用的图像去噪方法 通过对图像的小波变换和逆变换进行处理 可以有效地减少图像中的噪声 通过GUI界面 用户可以方便地选择输入图像 调整去
  • 开启hyper-v的嵌套虚拟化

    有的时候会用到windows自带的hyper v来测试一些系统 如果安装的虚拟机需要启用虚拟化原来是一件很麻烦的事情 现在有个不错的powershell命令执行一下就好 Set VMProcessor VMName NestedVM Exp
  • 卷积神经网络原理解析

    朋友们 如需转载请标明出处 人工智能AI技术的博客 CSDN博客 python系列教程 人工智能 程序人生领域博主 自动驾驶 智能医疗保健和自助零售这些领域直到最近还被认为是不可能实现的 而计算机视觉已经帮助我们达到了这些事情 如今 拥有自
  • 2023年京东618PLUS超级补贴如何领取?

    2023年京东618PLUS超级补贴如何领取 2023年京东618PLUS超级补贴仅部分活动商品可用 且不同的PLUS超级补贴使用商品范围不同 所选商品是否满足超级补贴使用门槛 以及结算页显示为准 京东618PLUS超级补贴入口 领取后5月
  • VsCode+QT5.14.2安装部署详细教程

    文章目录 一 下载 1 下载 QT https download qt io archive qt 5 14 2 下载 VsCode https code visualstudio com 3 下载 Cmake https cmake or
  • Java设计模式 -9- 桥接模式(Bridge模式)

    Java设计模式 9 桥接模式 Bridge模式 前言 桥接模式的定义与特点 优点 缺点 桥接模式的结构与实现 1 模式的结构 2 模式的实现 桥接模式的应用实例 桥接模式的应用场景 桥接模式的扩展 前言 结构型模式描述如何将类或对象按某种
  • Spring boot中使用Jackson ObjectMapper注入

    为什么80 的码农都做不了架构师 gt gt gt 问题 本身spring boot已经集成了Jackson的库 我想自己在Controller中直接使用Spring默认的ObjectMapper 应该怎么做 RestController
  • 配置数据库属性validationQuery

    配置数据库时 属性validationQuery默认值为 select 1 对于oracle值应为 select 1 from dual validationQuery属性 用来验证数据库连接的语句 这个语句至少是返回一条数据的查询语句 每
  • Linux 宝塔面板密码忘记解决方法

    打开远程链接命令窗口或shell窗口 输入一下命令 cd www server panel python tools pyc panel passwd passwd为修改后的密码 返回的就是面板登录用户名 我的为 admin 2 如果提示多
  • 有用的网站

    http blog csdn net column details ms100 html
  • python3下载网页视频_三种下载网页视频的的方法(亲测!非常详细)

    原标题 三种下载网页视频的的方法 亲测 非常详细 大家好 我是莲妈 今天给大家带来三种网页视频的下载方法 公众号 努力的Lotus 里科普资源栏里已经为大家准备好了相关安装包以及命令指令 1 you get 2 IDM Internet D
  • Python爬虫——个股的股价与成交量分析

    一 前言 写在前面 不是人人都是巴菲特 作为普通小韭菜不要幻想一夜暴富 踹开临门一脚 投点小钱 进去冲个浪还是挺有意思的 注意总结经验 最大程度的减少被割的概率 年轻人还是要脚踏实地 股谚云 股市上什么都能骗人 唯有成交量不能骗人 成交量通
  • 商品期货保证金返还吗(期货保证金可以取回吗)

    期货的保证金是否返还 平仓后不管盈亏保证金都会返还给你 只是亏损方会扣除亏损后把剩余部分返还 而盈利方会全额返还还加上盈利部分 期货保证金交了以后 在交割完成以后 还退不退保证金 期货保证金交了以后 在交割完成以后 还退不退保证金要看自己是
  • python 线性相关 与 线性拟合

    文章目录 线性相关 皮尔逊相关系数 stats pearsonr 斯皮尔曼相关系数 stats spearmanr 线性拟合 回归 最小二乘法 optimize least squares R方 sklearn metrics r2 sco
  • vscode开发油猴插件环境配置指南

    文章目录 一 环境配置 1 1油猴插件开始编写代码 1 2油猴插件配置 1 2 1浏览器插件权限 1 2 2插件自身权限 2 油猴脚本API学习 2 1 头文件 2 2 油猴API 一 环境配置 1 1油猴插件开始编写代码 在vscode