← 全部文章

指南

从 Tampermonkey 或 Greasemonkey 迁移到 JustZix

如果你用过 Tampermonkey 或 Greasemonkey,你已经理解核心理念:在别人的网站上运行你自己的代码。JustZix 保留那份能力,但围绕 URL 匹配的规则重塑了它——小的、限定范围的、可单独切换的 CSS 或 JS 单元。本指南把用户脚本模型映射到 JustZix,并展示每个工具的闪光点。

心智模型:脚本与规则

一个用户脚本是一个带元数据头的文件。JustZix 把同样的工作拆成两样东西:一个 URL 匹配(它在哪里运行)和一个载荷(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。用户脚本管理器的额外功能需要重新思考:

这就是下面那条诚实的分界线。

何时该用哪个

当你的目标是调整网站的外观和行为时,JustZix 更合适:隐藏杂物、重新设计样式、小的 UX 快捷方式、限定范围的自动化。规则模型让每项微调保持隔离、易于切换,并且作为纯 CSS 或 JS 易于分享。

当一个脚本需要跨源网络访问、一个沉重的第三方库,或一个能跨众多网站存活的值存储时,保留一个用户脚本管理器。这两个工具能很好地共存——许多用户用 JustZix 处理几十个小的视觉微调,而把他们的用户脚本管理器留给那两三个重量级脚本。

一份迁移清单

回报是清晰:你得到的不是一个不透明的脚本文件,而是一份整洁的命名规则列表,每一条都精确限定到一个网站。从我们的现成示例开始,看看规则格式的实际运作,或跳到一个具体教程,例如 GitHub 开发者微调下载 JustZix,今天就移植你的第一个样式表。

为这篇文章评分

暂无评分 — 成为第一个。

自己动手试试

安装 JustZix,粘贴本文中的任意代码片段。两分钟,从零到一条在你所有设备上生效的规则。

获取 JustZix

功能 · 工作原理 · 示例 · 应用场景