手元の Chrome で、没入型翻訳(沉浸式翻译)に関する実際の操作競合を切り分けた:
症状:
- 没入型翻訳(沉浸式翻译)を有効にすると、X/Twitter の動画プレーヤー下部の進捗バー(シークバー)がクリックやドラッグできない
- 体感的にはプレーヤーが壊れたように見えるが、実際にはページ上にクリックイベントを食ってしまう字幕オーバーレイレイヤーが1枚追加されている
特定結果:
- 拡張機能:没入型翻訳(沉浸式翻译)
- 拡張機能 ID:
bpoadfkcbjbfhfodiogcnhhhpibjhbnh - 現在この端末で有効なディレクトリ:
1.26.6_1 - 根本原因は、拡張機能が注入する
attach_subtitle.cssにある - その中で
.imt-caption-windowがpointer-events: auto;を使用しており、X/Twitter 上では下部のコントロール領域まで覆ってしまうため、進捗バーのシーク(seek)クリックが捕捉される
修正方針:
.imt-caption-windowをpointer-events: none;に変更する- 同時に
.imt-captions-textと.imt-cueはpointer-events: auto;のままにする - これにより字幕の空白領域がクリックを遮らず、字幕テキスト自体は引き続き操作できる
手元での対応:
- 現在の Chrome インストールディレクトリ内の拡張機能ファイルにホットフィックスを適用済み
- Chrome を強制再起動し、実行中のインスタンスに修正後の拡張機能ファイルを再読み込みさせた
- 併せて、パッチを独立したリポジトリとして整理し、拡張機能のビルド成果物を直接配布しないようにした
PR:
リポジトリに入っているもの:
- 再利用可能なパッチスクリプト
- Chrome を強制再起動するスクリプト
- 中国語の問題説明と修正説明
今後、拡張機能のアップデートで content_script.js が上書きされた場合は、パッチスクリプトを再実行すればよい。