从 Tampermonkey 或 Greasemonkey 迁移到 JustZix
如果你用过 Tampermonkey 或 Greasemonkey,你已经理解核心理念:在别人的网站上运行你自己的代码。JustZix 保留那份能力,但围绕 URL 匹配的规则重塑了它——小的、限定范围的、可单独切换的 CSS 或 JS 单元。本指南把用户脚本模型映射到 JustZix,并展示每个工具的闪光点。
心智模型:脚本与规则
一个用户脚本是一个带元数据头的文件。JustZix 把同样的工作拆成两样东西:一个 URL 匹配(它在哪里运行)和一个载荷(CSS 或 JS)。你过去要写的元数据块变成了规则编辑器里的一个字段。
@match/@include→ 规则的 URL 模式,例如*://*.youtube.com/*@run-at document-end→ JustZix 默认在 DOM 就绪后运行 JS 规则- 通过
GM_addStyle设置样式 → 一条专门的 CSS 规则,不需要 JS - 一个大脚本 → 几条你可以独立切换的小规则
最大的转变:在 JustZix 里,CSS 是一等公民。任何你用 GM_addStyle 做的事都变成一条更快、更安全、更易读的纯 CSS 规则。
移植一个仅 CSS 的用户脚本
很多用户脚本存在的唯一目的是注入一个样式表。这里有一个典型的:
// ==UserScript==
// @name Hide YouTube Shorts
// @match *://*.youtube.com/*
// ==/UserScript==
GM_addStyle(`
ytd-reel-shelf-renderer { display: none !important; }
`);
在 JustZix 里这折叠成一条 CSS 规则。URL 匹配:*://*.youtube.com/*。载荷:
ytd-reel-shelf-renderer { display: none !important; }
这就是整个迁移。没有包装器,没有 GM_addStyle,没有元数据注释——规则编辑器替你保管匹配。
移植一个 DOM 操作的用户脚本
在运行时改变页面的脚本变成 JS 规则。脚本主体通常逐字移植;你只需丢掉元数据头。一个等待某个元素的用户脚本:
// ==UserScript==
// @name Auto-expand comments
// @match *://example.com/*
// @run-at document-end
// ==/UserScript==
(function () {
const btn = document.querySelector('.show-comments');
if (btn) btn.click();
})();
变成一条匹配 *://example.com/* 的 JustZix JS 规则,载荷为:
const btn = document.querySelector('.show-comments');
if (btn) btn.click();
对于单页应用,你在用户脚本里用过的同样模式仍然适用——观察 DOM 而不是假定单次加载:
function run() {
const btn = document.querySelector('.show-comments');
if (btn && !btn.dataset.done) {
btn.dataset.done = '1';
btn.click();
}
}
run();
new MutationObserver(run).observe(document.body, {
childList: true, subtree: true
});
什么不能直接移植
JustZix 在页面上下文里用标准 Web API 运行你的 JS。用户脚本管理器的额外功能需要重新思考:
GM_setValue/GM_getValue→ 使用localStorage做按站点的持久化GM_xmlhttpRequest(跨源获取)→ 不是 JustZix 的目标;把那些脚本留在你的用户脚本管理器里@require外部库 → 内联你需要的部分,或把库粘进规则里GM_registerMenuCommand→ 改为构建你自己的页内按钮
这就是下面那条诚实的分界线。
何时该用哪个
当你的目标是调整网站的外观和行为时,JustZix 更合适:隐藏杂物、重新设计样式、小的 UX 快捷方式、限定范围的自动化。规则模型让每项微调保持隔离、易于切换,并且作为纯 CSS 或 JS 易于分享。
当一个脚本需要跨源网络访问、一个沉重的第三方库,或一个能跨众多网站存活的值存储时,保留一个用户脚本管理器。这两个工具能很好地共存——许多用户用 JustZix 处理几十个小的视觉微调,而把他们的用户脚本管理器留给那两三个重量级脚本。
一份迁移清单
- 列出你的用户脚本,给每个贴标签:仅 CSS、DOM 微调,或网络密集型。
- 把每个仅 CSS 的脚本移到一条 JustZix CSS 规则——通常就是复制粘贴样式块。
- 把 DOM 微调移到 JS 规则;剥掉元数据头,保留主体。
- 把庞大的多用途脚本拆成几条小规则,这样你可以切换功能。
- 把网络密集型脚本留在原处。
回报是清晰:你得到的不是一个不透明的脚本文件,而是一份整洁的命名规则列表,每一条都精确限定到一个网站。从我们的现成示例开始,看看规则格式的实际运作,或跳到一个具体教程,例如 GitHub 开发者微调。下载 JustZix,今天就移植你的第一个样式表。
为这篇文章评分
暂无评分 — 成为第一个。