Turbo 导航被破坏——整页刷新而非 SPA 切换

Author: dslsdzcCreated Jul 25, 2026Updated Jul 25, 2026

问题描述

启用本插件后 GitHub 的 Turbo 导航失效,点击链接会先出现 Turbo 进度条,渲染完成后立即触发整页刷新。禁用插件后恢复正常。

通过二分法定位,以下因素会导致此问题:

  • injectStyles() 中的 GM_addStyle() — 向 <head> 注入 <style> DOM 元素,被 Turbo 的 head 比较检测到后回退整页加载
  • setupReactGlobalNavTranslation() — React 头部导航翻译系统,具体原因待进一步定位

复现步骤

  1. 安装插件
  2. 打开任意 GitHub 页面
  3. 点击同源链接(如从仓库页点击 Issues 标签)

预期: Turbo 平滑切换,无整页刷新 实际: Turbo 进度条出现 → 页面渲染 → 触发整页刷新

环境

  • 浏览器:Firefox
  • 脚本管理器:Tampermonkey
  • 插件版本:1.9.4.4

Source: maboloshi/github-chinese