uWeb 中文文档 下载 App

脚本激活模式——执行一次,自动作用于同类网址

什么是脚本激活模式

脚本激活模式是 uWeb 独创的一个机制:当你在某个网站上手动执行了某个临时脚本(如 bookmarklet 或特色服务的脚本),这个脚本就会被"激活"。激活后,它会自动作用于所有同类网址——不需要你把它保存到 sitejs/ 目录,也不需要每次手动执行。

为什么需要这个功能

想象这样一个场景:你在知乎上发现了一个"回答按点赞数排序"的 bookmarklet,手动执行了一次觉得好用。在普通浏览器里,你需要:

  1. 把这段代码存到本地
  2. 装油猴扩展
  3. 为知乎写一个 @match 规则
  4. 可能还要处理知乎的 CSP

四个步骤。在 uWeb 里,你只需要:

  1. 手动执行一次这个 bookmarklet
  2. 它自动被激活,此后知乎上所有页面自动应用这个排序脚本

一步到位。

激活条件与范围

脚本被激活后:

激活脚本的来源

脚本激活模式可以从多个入口触发:

bookmarklet/ 目录

手动执行 bookmarklet/ 里的某个脚本后,勾选相应选项,它会被激活。

特色服务(default.urls)

某些特色服务背后其实就是 JS 脚本。从特色服务入口执行后也可以被激活。

长按 JS 按钮

长按底部 JS 按钮 → 弹出的菜单里执行任意脚本 → 可以选择"激活此脚本用于同类网址"。

与 sitejs 的关系

特性sitejs/ 永久脚本激活脚本
保存方式手动放入文件执行一次自动激活
持久性永久存在(直到删除)激活后持续生效
可编辑直接改文件需要特殊方式取消激活
适用场景长期固定的定制临时试用后觉得好用就自动留着

两者是互补关系——sitejs 写你确定要长期保留的,激活模式让你可以先试用再决定要不要持久化。

如何取消激活

激活的脚本存储在配置目录的某个位置(通常与 sitecache/ 相关)。要取消激活:

  1. 长按窗口管理按钮
  2. 取消"执行网址用户脚本"→ 重启(临时禁用全部)
  3. 或者手动清理 sitecache/ 下的激活记录

实际效果示例

场景 1:视频解析自动激活

  1. 你从特色服务里选择"视频解析"功能
  2. 脚本执行成功,把页面中的视频 URL 替换成可直接播放/下载的地址
  3. 勾选激活后,你访问同类视频网站时自动执行解析脚本
  4. 下次再也不用手动点"视频解析"了

场景 2:自动展开折叠评论

  1. 你在某个论坛手动运行一次"展开所有折叠评论"的 bookmarklet
  2. 觉得好用,勾选激活
  3. 此后该论坛所有页面的折叠评论都会自动展开
  4. sitejs 里完全不用写任何东西

场景 3:翻译特色服务

  1. 你访问一个外文页面,长按链接选择"翻译"特色服务
  2. 特色服务背后的脚本把页面翻译成中文
  3. 激活后,所有外文页面访问时自动翻译

与脚本加载顺序的配合

激活的脚本在加载顺序上与 sitejs 同级或稍晚,因此可以叠加在 sitejs 的效果上。如果你既写了 sitejs 脚本,又从特色服务激活了脚本,两者会一起执行。

下一章

脚本扩展体系到此为止。接下来看: