◆

Chrome 油猴脚本插件与常用脚本下载

2023-02-02 01:370

油猴(Tampermonkey)是浏览器里的用户脚本管理器。它的作用是在页面加载到指定时机时注入你自己的 JS,从而改动那个网站的行为——去掉遮挡阅读的浮层、给页面加个按钮、把数据抓出来格式化。相比自己写扩展,用户脚本不用打包、不用装载解压目录,一个 .js 文件加几行元数据注释就能跑,@match 声明生效的域名,@require 直接引外部库。

日常我主要用它做两类事:修掉某些网站难用的交互,以及把网页内容按自己需要的格式导出。

脚本的基本结构

一个用户脚本就是带元数据头的 JS 文件,头部注释块决定它在哪生效、什么时候执行:

// ==UserScript==
// @name         示例脚本
// @match        https://example.com/*
// @run-at       document-idle
// @grant        none
// ==/UserScript==

(function () {
  'use strict';
  document.querySelectorAll('.ad-overlay').forEach(el => el.remove());
})();

几个关键字段:

  • @match 决定生效域名,写得越精确越好,用 *://*/* 会让脚本在所有站点上跑,白耗性能还容易撞车。
  • @run-at 控制注入时机。document-start 在 DOM 构建前执行,适合拦请求或抢在页面脚本之前改全局对象;document-idle(默认)等页面基本就绪,操作 DOM 用它。
  • @grant 声明要用的特权 API。写 none 时脚本运行在页面上下文里,能直接访问页面的变量;一旦声明了 GM_* 系列 API 就会被隔离到沙箱,拿不到页面变量了,这点常踩坑。
  • @require 可以引外部库,比如挂个 jQuery 直接用。

注意事项

装第三方脚本前看一眼源码。用户脚本能读取所在页面的全部内容,包括你已登录的会话——恶意脚本可以直接把 Cookie 发走。greasyfork 上的脚本都是明文可读的,花一分钟扫一遍有没有可疑的外部请求。

脚本失效通常是网站改版导致选择器对不上,改一下 querySelector 里的类名一般就能修好。

下面是插件本体和我常用的「复制为 Markdown」脚本的地址。

::: cardImgList

- img: https://wflynn.cn/res/img/bg/lol/2.jpg
  link: https://download.csdn.net/download/weixin_40013817/15561906
  name: 谷歌浏览器油猴脚本插件
  desc:
  author:
  avatar:
- img: https://wflynn.cn/res/img/bg/lol/1.jpg
  link: https://greasyfork.org/zh-CN/scripts/370299-%E5%A4%8D%E5%88%B6%E4%B8%BAmarkdown%E6%A0%BC%E5%BC%8F/code
  name: 复制文章为 markdown 插件
  desc:
  author:
  avatar:

:::

💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEChrome 油猴脚本插件与常用脚本下载加载中