← 全部文章

教程

如何在任意网页上运行 JavaScript —— 新手指南

有时一个网站差不多对了 —— 你只是希望它能多做一件事。解决办法往往是几行 JavaScript。这份新手指南将向你展示如何在任意网页上运行 JavaScript,从在控制台里的一次性快速操作,到每次访问都自动运行的规则,沿途附有真实示例。

在做任何事之前的一个快速安全提示

你在页面上运行的 JavaScript 拥有与页面本身相同的权力 —— 它可以读取内容、点击元素并发送请求。所以规则很简单,且不容商量:只运行你理解的代码。绝不要把来自陌生人、评论区或某个「这样做有妙招」视频里的脚本粘贴进控制台 —— 那正是账户盗窃骗局的运作方式。下面的每个示例都短到足以让你完整地阅读和理解。

方法 1 —— DevTools 控制台(一次性)

每个浏览器都自带一个 JavaScript 控制台。按 F12 并打开 Console 标签页。键入一个表达式,按回车,它就会立即针对当前页面运行:

// Count every link on the page
document.querySelectorAll('a').length

控制台非常适合做实验和快速检查。它的局限是:什么都不会留存。重新加载页面,你的代码就没了 —— 你每一次都得重新粘贴它。

方法 2 —— 书签小工具(已保存,但需手动)

书签小工具是一个浏览器书签,它的 URL 是 JavaScript 而不是一个地址。点击该书签,代码就会在当前页面上运行。它看起来是这样的:

javascript:(function(){
  document.body.style.fontFamily = 'Georgia, serif';
})();

书签小工具确实有用,而且它们在会话之间会留存。但它们有实在的局限:

方法 3 —— 持久化的规则(自动)

要让 JavaScript 在你每次打开匹配页面时自动运行,你需要一个能为你注入它的扩展。JustZix 通过规则来做到这一点:一个 URL 模式加上要运行的代码。它免费,在 Chrome(以及 Edge、Brave、Opera、Vivaldi)中工作,并且不需要账户。

演示 —— 一条运行你的 JS 的规则

  1. 下载页面安装 JustZix。
  2. 打开你想增强的页面。
  3. 点击 JustZix 图标并选择新建规则
  4. 设置一个 URL 模式,例如 https://example.com/*
  5. 打开 JS 面板并粘贴你的脚本。
  6. 保存。脚本现在会在每一次匹配页面加载时运行。

在你构建脚本时,标签页内的 JS Console REPL 让你能针对实时页面测试表达式,而六标签的 Output Console 会显示日志、网络活动和 DataLayer 事件 —— 这样你就不需要同时打开 DevTools。更多内容见功能页面

示例 1 —— 清理一个嘈杂的页面

移除那些跟着你往下滚动的吸附元素:

// Remove sticky headers and floating widgets
document.querySelectorAll('*').forEach(el => {
  const pos = getComputedStyle(el).position;
  if (pos === 'fixed' || pos === 'sticky') {
    el.style.position = 'static';
  }
});

示例 2 —— 自动点击一个按钮

有些网站把内容藏在一个「显示更多」按钮后面。为你自己自动点击它:

// Click the first "Show more" button on load
const btn = [...document.querySelectorAll('button')]
  .find(b => /show more|read more/i.test(b.textContent));
if (btn) btn.click();

示例 3 —— 等待延迟加载的内容

现代网站会在初始加载之后添加内容。MutationObserver 让你的代码能在你想要的元素终于出现时做出反应:

// Run once the target element shows up
const observer = new MutationObserver(() => {
  const target = document.querySelector('.comments-section');
  if (target) {
    target.scrollIntoView();
    observer.disconnect();
  }
});
observer.observe(document.body, { childList: true, subtree: true });

这个模式正是「有时能用」的脚本与「可靠工作」的脚本之间的区别 —— 页面脚本中大多数的时序错误都源于在元素存在之前就运行了代码。

选择正确的方法

方法是否留存?是否自动?最适合
DevTools 控制台一次性实验
书签小工具否(需点击)偶尔的手动操作
JustZix 规则你希望每次访问都生效的更改

当某些东西不工作时的调试

另请参阅

想让你的 JavaScript 每次访问都自动运行,而不必每次都粘贴它?JustZix 是免费的 —— 从下载页面安装它,把你的代码片段变成一条规则。

为这篇文章评分

暂无评分 — 成为第一个。

自己动手试试

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

获取 JustZix

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