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

オープン
#755 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
github, javascript
領域
frontend, web-dev

調査の方向性

Start by reading the injectStyles() and setupReactGlobalNavTranslation() implementations named in the issue, then reproduce the navigation on GitHub with the plugin enabled and disabled in Firefox with Tampermonkey. The issue reports GM_addStyle() inserting a style element into the head as one suspected cause, while the React navigation translation needs investigation. Done means same-origin links switch through Turbo without triggering a full-page reload.

索引モデルが issue の本文から書いたものです。

説明

问题描述

启用本插件后 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
主要言語
JavaScript
スター
35.1k
フォーク
2k
平均マージ
2日 1時間
マージ済み PR(30日)
9

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

maboloshi/github-chinese のほかの issue

maboloshi/github-chinese の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。