首页 > 其他分享 >Chrome插件之油猴(详尽版本)

Chrome插件之油猴(详尽版本)

时间:2024-08-17 18:09:28浏览次数:4  
标签:脚本 插件 grant Chrome GM https 之油 油猴 match

 

官方文档: https://www.tampermonkey.net/documentation.php#google_vignette

1.注释语法:

// @match https://passport.yhd.com/

// ==UserScript==
// @name 第一个脚本-HelloWorld
// @namespace https://learn.scriptcat.org/
// @version 0.1
// @description 第一个脚本!弹出HelloWorld对话框
// @author lanlang
// @match https://bbs.tampermonkey.net.cn/
// @grant none
// @run-at document-start
// @connect api.bilibili.com
// ==/UserScript==
说明:
@name: 脚本名称
@match: 匹配网站,*表示通配
@icon 用于设置脚本的图标
@grant 这个属性可用来申请GM_*函数和unsafeWindow权限。相当于放在脚本header里面告诉油猴扩展,你需要用些什么东西,然后它就会给你相应的权限。
默认的情况下,你的脚本运行在油猴给你创建的一个沙盒环境下,这个沙盒环境无法访问到前端的页面,也就无法操作前端的一些元素等。
如果在页面最前方声明// @grant none,那么油猴就会将你的脚本直接放在网页的上下文中执行,这是的脚本上下文(window)就是前端的上下文。但是这样的话就无法使用GM_*等函数,无法与油猴交互,无法使用一些更强的功能。
所以一般写脚本的时候是使用unsafeWindow与前端交互,而不使用// @grant none,这样就可以使用grant去申请油猴的一些更强的函数功能。
@run-at: 主要是设置脚本运行的时候
@connect: 设置允许通过的域名,使用 @connect 配置确保此跨域请求是计划内的行为


创建方式:
1)新建一个脚本
2)在指定网址,选择并新建自动匹配当前地址,例如:@match https://passport.yhd.com/


2.使用
1)对于系统函数进行劫持
(function() {
'use strict';

// 修改系统函数
// 1)系统函数重新赋值给一个新变量
let hookSetInterval = window.setInterval;
window.setInterval = function(a, b){
return hookSetInterval(a, 1000 * 10);
}
})();
注意:若是一开始就需要注入的系统函数, 需要设置run-at,在一开始就进行注入


2)http访问
GM_xmlhttpRequestAPI
// ==UserScript==
// @name 油猴中文网-自动关注up主
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1
// @description 油猴中文网-自动关注up主
// @author Wyz
// @match https://bbs.tampermonkey.net.cn/
// @grant GM_xmlhttpRequest
// @connect api.bilibili.com
// ==/UserScript==

(function() {
'use strict';

GM_xmlhttpRequest({
url:"https://api.bilibili.com/x/relation/modify",
method :"POST",
data:"fid=1037793830&act=1&re_src=11&jsonp=jsonp&csrf=e37f1881fd98f16756d16ab71109d37a",
headers: {
"Content-type": "application/x-www-form-urlencoded"
},
onl oad:function(xhr){
console.log(xhr.responseText);
}
});
})();

3) 插入新元素
let div = document.createElement("div");
div.innerHTML = '<span>span1</span><span>span2</span>';
// 插入到页面的body中
document.body.append(div);

4)添加监听器
div.addEventListener("click", function (ev) {
console.log(ev);
});

 

标签:脚本,插件,grant,Chrome,GM,https,之油,油猴,match
From: https://www.cnblogs.com/xingxia/p/18364737/chrome_Tampermonkey

相关文章

  • Nodejs调试之Chrome Devtools
    转载: https://mp.weixin.qq.com/s/tqGWizPUFnuVWRcXcxyv2g俗话说:“工欲善其事,必先利其器”,调试是每一个开发人员都要遇到的问题,选择一个合适的调试工具也尤为重要。 在Node.js开发过程中除了万能的console.log之外,本节介绍一个Node.js与ChromeDevtools结合的调试工具......
  • Hexo-常用插件&配置
    参考文档地址:Plugins,Hexo官方插件列表地址theme-next/awesome-next::sunglasses:ThemeNexT,AWESOMENexT!这里汇总一下自己比较常用的插件以及相关的配置,希望对你有所帮助。注意:我使用的是next主题,很多配置可能是主题专用!RSS安装hexo-generator-feed插件即可n......
  • 全新AutoCAD安装包+CAD2025软件安装视频教程+全套构图插件+部署说明文档下载
    CAD软件是工程师、产品设计师和任何希望将设计变为现实的熟练专业人士的必备工具。也许您刚刚开始CAD设计,不想做出财务承诺,或者您是一位专业人士,需要全天候解决一些设计问题,或者您可能需要足够熟悉特定的CAD程序获得这份出色的设计工作。无论如何,幸运的是,对于专业和业......
  • 三.直播头像打印机游客无人直播插件搭建教程【头像打印机】
    本片主要讲解如何搭建和使用头像打印机这个组件。目前比较火的小玩法,适合无人或半无人直播基本搭建是比较简单的。按照步骤走就可以了支持头像随机打分的操作效果:现在直播的比较火的小玩法,适合无人直播 打开【头像打印机】这个功能 参数说明:触发类型:可以全部勾选......
  • 博客园-awescnb插件-geek皮肤优化
    简介本文介绍博客园在使用awescnb插件中的geek皮肤时的一些相关优化,主要涉及博客园统计(blogStats)展示及自定义日历隐藏。皮肤安装博客园自定义皮肤工具推荐:awescnb博客效果优化1.隐藏右上角自定义日志展示直接通过更改css样式隐藏具体操作:博客园->管理->设置->......
  • 《谷歌浏览器》打开时提示缺少chrome.dll文件该怎么办?Google浏览器闪退找不到chrome.d
    在使用《谷歌浏览器》时,如果打开时提示缺少chrome.dll文件,别慌张。您可以尝试通过重新安装浏览器来解决,或者从可靠的来源获取该文件并放置到正确位置。还可以检查系统是否存在冲突软件,多种方法助您修复此问题。本篇将为大家带来提示缺少chrome.dll文件的修复方法的内容,感兴趣的......
  • Kali 2024 逆向调试 GDB 13.2 安装插件 Peda 不兼容报错解决方案
    发现问题如果你尝试直接进行$aptinstallgdb安装后应该是最新版的gdb13.2。并且尝试安装peda后将会出现fromsix.movesimportrange报错2024版的kali的python3是python3.11版本,而peda中的six库支持的是3.11之前的。而gdb13是支持python3.12的。有趣的一点是,当我们......
  • Zotero 7 正式版本发布,最全的插件合集
    Zotero7正式版终于发布了!......
  • apisix-dashboard上添加自定义插件
    参考:https://overstarry.vip/posts/apisix如何添加自定义插件/首先,我们需要向自定义的插件user-remote-auth添加到apisix中,对这块不清楚的同学,可以参考我这篇文章:【apisix~lua插件开发与插件注册】,添加成功之后,通过curlhttp://apisix-admin.apisix:9180/apisix/admin/plugins/us......
  • Visual Studio VS 插件之 ReSharper
    集成在VS2022上的ReSharper暂无找到汉化方式,如果有大神可以汉化,请指导下。首先ReSharper是IDE下的插件 主要是基于C# 语句优化的这么一个插件。使用ReSharper可以使开发效率大大提高,但是也是比较吃电脑的配置。所以说如果配置低的小伙伴别装。我是集成在VS2022上使用的,......