Twitter image viewing enhancement

Make Twitter photo viewing more humane

< Feedback on Twitter image viewing enhancement

Review: Good - script works

§
Posted: 2024/06/13

你好

我是繁體中文 + Firefox的用戶

之前一直都是用0.6.3版 沒什麼大問題

最近更新到最新版之後 常常出現

第一次開啟推特時腳本無效

重新整理之後才正常的BUG

關掉擋廣告插件 + 其他腳本也還是一樣

麻煩再看看是不是哪裡出問題了

感謝

神代綺凛Author
§
Posted: 2024/06/13

我用 Firefox 127.0 + Tampermonkey 5.1.1 试了很多次,没能复现你说的情况

§
Posted: 2024/06/13
Edited: 2024/06/13

https://x.com/AC______/status/1799019291930705975

我如果直接從這個連結點進去

或是從推特開新分頁的話

就會失效

如果是在時間軸點左鍵進去是正常的

神代綺凛Author
§
Posted: 2024/06/13

确实,我重新试了下,是有问题的

搜了下相关 issue,这个问题貌似不是我能解决的,是 Firefox 引起的,也很可能跟推特 PWA 用 ServiceWorker 缓存了页面有关

https://github.com/Tampermonkey/tampermonkey/issues/952
https://github.com/Tampermonkey/tampermonkey/issues/773

我猜测问题原因是 Firefox 一旦加载了页面中的 CSP 规则之后,就算对其进行修改也无法生效,脚本也就无法正确执行,虽然 Tampermonkey 会帮你修改 CSP,但由于 ServiceWorker 缓存了页面,可能 Firefox 从缓存加载的时候就直接应用了其 CSP,Tampermonkey 没法在这时候介入修改

虽然这里 Tampermonkey 作者提供了一些解决方法,不过我试了下都不起作用,而且就算取消注册 ServiceWorker 也会在下次访问时被推特重新注册

你使用 Ctrl+F5 强制刷新之后,脚本可以正常运行,而普通刷新之后就不行了

神代綺凛Author
§
Posted: 2024/06/13

我也看了下 Violentmonkey 对这种问题的解决方法,不过上下文注入模式无法访问页面上下文的对象,等于还是没用

https://violentmonkey.github.io/posts/inject-into-context/

§
Posted: 2024/06/13
Edited: 2024/06/13

哦 難怪 我的滑鼠側鍵有使用巨集鍵是Ctrl+F5強制刷新

所以我以為刷新就有用了 實際上要強制刷新才行

看來新版似乎無解 但0.6.3版就沒有這個問題?

神代綺凛Author
§
Posted: 2024/06/14

新版是通过推特的 webpackChunk 自动从 i18n 模块里获取了 aria-label,需要访问 window 上的对象

旧版是自己设置 aria-label,就只需要使用 DOM API,可能就不受影响

神代綺凛Author
§
Posted: 2024/06/14

我把旧版本的设置 aria-label 加回来了,你可以按旧版的方式继续使用

§
Posted: 2024/06/14

更新後重新設置之後正常運作 感謝

Post reply

Sign in to post a reply.