В локальном Chrome удалось расследовать реальный конфликт интерактивности, связанный с Immersive Translate:
Симптомы:
- После включения Immersive Translate нижняя полоса прогресса в видеоплеере X/Twitter не кликается и не перетаскивается
- По ощущениям кажется, что плеер сломан, но на самом деле поверх страницы появляется дополнительный слой субтитров, который «съедает» клики
Результат локализации:
- Расширение: Immersive Translate (沉浸式翻译)
- 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, достаточно снова выполнить скрипт патча.