|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +categories: [杂项] # 文章分类,tags的替代 |
| 4 | +author: abining |
| 5 | +title: 油猴脚本管理教程:发布、同步与实用技巧 |
| 6 | +header-style: text |
| 7 | +catalog: true |
| 8 | +tags: |
| 9 | + - 浏览器 |
| 10 | + - 工具 |
| 11 | + - Tampermonkey |
| 12 | + - 油猴 |
| 13 | + - 脚本管理 |
| 14 | +--- |
| 15 | +# 🛠️ 油猴脚本管理教程:发布、同步与实用技巧 |
| 16 | + |
| 17 | +Tampermonkey 是一款流行的浏览器扩展,用于运行用户脚本(UserScripts),它可以大幅度地增强网页功能。本教程将带你了解如何高效地**发布**你的油猴脚本,并在**多个设备之间同步**这些脚本。 |
| 18 | + |
| 19 | +本期以我开发的油猴脚本:[CodeCV简历保存打印脚本](https://www.tampermonkey.net/script_installation.php#url=https://update.greasyfork.org/scripts/535912/CodeCV%E7%AE%80%E5%8E%86%E4%BF%9D%E5%AD%98%E6%89%93%E5%8D%B0%E8%84%9A%E6%9C%AC.user.js)为例 |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## 📦 一、脚本发布方法 |
| 24 | + |
| 25 | +你可以通过以下方式将脚本发布给他人使用: |
| 26 | + |
| 27 | +### 1. 发布到脚本托管平台(推荐) |
| 28 | + |
| 29 | +最常用的两个平台: |
| 30 | + |
| 31 | +* [GreasyFork](https://greasyfork.org/) |
| 32 | +* [OpenUserJS](https://openuserjs.org/) |
| 33 | + |
| 34 | +#### 🔧 GreasyFork 发布步骤: |
| 35 | + |
| 36 | +1. **注册并登录账号** |
| 37 | +2. 进入 [上传新脚本页面](https://greasyfork.org/zh-CN/scripts) |
| 38 | +3. 填写: |
| 39 | + |
| 40 | + * 代码(可以直接粘贴或上传 `.user.js` 文件) |
| 41 | + * 标题和描述 |
| 42 | + * 标签、语言等元信息(可选) |
| 43 | +4. 点击【提交】 |
| 44 | +  |
| 45 | + |
| 46 | +> 💡 注意:GreasyFork 对脚本内容有严格要求,例如不能加载外部脚本链接,不能包含跟踪代码。 |
| 47 | +
|
| 48 | +--- |
| 49 | + |
| 50 | +### 2. 通过 GitHub 发布 |
| 51 | + |
| 52 | +你可以将脚本作为 `.user.js` 文件放入 GitHub 仓库,并在头部添加 `@updateURL` 和 `@downloadURL`: |
| 53 | + |
| 54 | +```js |
| 55 | +// ==UserScript== |
| 56 | +// @name My Script |
| 57 | +// @namespace http://tampermonkey.net/ |
| 58 | +// @version 1.0 |
| 59 | +// @description 示例脚本 |
| 60 | +// @author YourName |
| 61 | +// @match *://*/* |
| 62 | +// @grant none |
| 63 | +// @downloadURL https://raw.githubusercontent.com/用户名/仓库名/分支名/脚本名.user.js |
| 64 | +// @updateURL https://raw.githubusercontent.com/用户名/仓库名/分支名/脚本名.user.js |
| 65 | +// ==/UserScript== |
| 66 | +``` |
| 67 | + |
| 68 | +用户访问这个 URL 即可安装脚本,并自动获取更新。 |
| 69 | + |
| 70 | +我的仓库:[https://github.com/abining/tampermonkey](https://github.com/abining/tampermonkey) |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +## 🔄 二、不同设备间同步脚本 |
| 75 | + |
| 76 | +### 方法一:Tampermonkey 自带的同步功能(推荐) |
| 77 | + |
| 78 | +#### ✅ 步骤: |
| 79 | + |
| 80 | +1. 在设备A(已有脚本的设备): |
| 81 | + * 打开 Tampermonkey 设置(点击图标 → 实用工具) |
| 82 | +  |
| 83 | + * 找到 “云” 或 “Sync” 标签页 |
| 84 | + * 选择同步服务(推荐使用 **Google Drive** 或 **OneDrive** ),会要求获取对应云服务厂商的认证。 |
| 85 | + * 启用同步,并执行“立即上传” |
| 86 | +2. 在设备B: |
| 87 | + * 使用相同浏览器安装 Tampermonkey 插件 |
| 88 | + * 登录相同的 Google/OneDrive 账户 |
| 89 | +  |
| 90 | + * 进入 Tampermonkey 设置,启用同步并点击“立即下载” |
| 91 | + |
| 92 | +> 🔐 注意:需开启 Tampermonkey 的“同步设置和脚本”选项,否则只同步设置,不同步脚本。 |
| 93 | +
|
| 94 | +--- |
| 95 | + |
| 96 | +### 方法二:手动导入导出 |
| 97 | + |
| 98 | +#### 导出(在设备A): |
| 99 | + |
| 100 | +1. 打开 Tampermonkey 仪表盘 |
| 101 | +2. 点击【实用工具】 |
| 102 | +3. 找到【备份】 |
| 103 | +4. 点击“导出为zip” → 下载脚本备份文件 |
| 104 | + |
| 105 | +#### 导入(在设备B): |
| 106 | + |
| 107 | +1. 同样进入【实用工具】 |
| 108 | +2. 找到【恢复】 |
| 109 | +3. 选择刚才下载的 zip 文件 → 点击“恢复” |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +### 方法三:使用 GitHub 或 Git 版本管理 |
| 114 | + |
| 115 | +对于高级用户,建议将所有脚本保存在 Git 仓库中,利用 Git 工具(或 GitHub Desktop)同步代码。优点: |
| 116 | + |
| 117 | +* 支持版本控制 |
| 118 | +* 多人协作 |
| 119 | +* 可用于公共或私有存储 |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +## 🧠 实用技巧 |
| 124 | + |
| 125 | +* ✅ **使用元信息控制更新** |
| 126 | + |
| 127 | + 利用 `@updateURL` / `@downloadURL` 实现脚本自动更新。 |
| 128 | +* 🔍 **用注释维护脚本 changelog** |
| 129 | + |
| 130 | + 保持代码可读性,方便维护。 |
| 131 | +* ⌨️ **自定义快捷键** |
| 132 | + |
| 133 | + 使用 `Mousetrap.js` 等库在脚本中加入快捷操作。 |
| 134 | +* 🧩 **适配不同网站结构** |
| 135 | + |
| 136 | + 使用 `@match` 或 `@include` 精确控制脚本作用范围。 |
| 137 | + |
| 138 | +--- |
| 139 | + |
| 140 | +## 🏁 总结 |
| 141 | + |
| 142 | +| 功能 | 推荐方式 | |
| 143 | +| ------------ | ------------------- | |
| 144 | +| 脚本发布 | GreasyFork / GitHub | |
| 145 | +| 脚本同步 | Tampermonkey 云同步 | |
| 146 | +| 脚本备份 | 导出ZIP文件手动同步 | |
| 147 | +| 多人协作开发 | GitHub + PR机制 | |
0 commit comments