你正在訪問的內容是外部程式的映像位址,僅用於使用者加速訪問,本站無法保證其可靠性。當前的連結位址(單點即可複製)為 https://greasyfork.org.cn/zh-CN/scripts/469878-youtube-super-fast-chat/discussions/317330,源站連結 點此以跳轉。
YouTube直播聊天的终极性能提升
Super Fast Chat 會重用元素 它完全沒考慮。。。。 算了針對性幫它修正一下
我嘗試了一下修正。感覺不太好處理。
你聯繫一下作者吧
他可以在這 / https://github.com/cyfung1031/userscript-supports/issues 找我
他沒有 github 很麻煩
https://greasyfork.org.cn/scripts/469878-youtube-super-fast-chat/diff?v1=1718181&v2=1714504
你告訴他我加了這個修改還是不行
他用 我加的"youtube-chat-element-removed" 自行處理吧
再改了一下
https://greasyfork.org.cn/en/scripts/469878-youtube-super-fast-chat/diff?v1=1718189&v2=1714504
開放了事件 "youtube-chat-element-before-remove" 和 "youtube-chat-element-after-append"
要 夜有風 自己 Debug 一下吧
我盡力配合了,但感覺他本身的代碼就是有問題,不支持元素重用
不然你就把
const ENABLE_CHAT_MESSAGES_BOOSTED_STAMPING = true;
const ENABLE_TICKERS_BOOSTED_STAMPING = true;
這兩個改為 false.
他沒有 github 很麻煩
https://greasyfork.org.cn/scripts/469878-youtube-super-fast-chat/diff?v1=1718181&v2=1714504
你告訴他我加了這個修改還是不行
他用 我加的"youtube-chat-element-removed" 自行處理吧
我有e-mail給「YTid 名稱修復器」的作者,你說的此項問題和前面說可以到哪裡找您討論的地方了。
開放了事件 "youtube-chat-element-before-remove" 和 "youtube-chat-element-after-append",我等下再補充e-mail給他。
「YTid 名稱修復器」的Firefox版出2.4.0了,剛測試30分鐘看起來,基本上沒上面提到的問題了,雖然還是有些小bug,但應該主要還是要「YTid 名稱修復器」的作者處理。
然後Chrome的還沒出,而且我基本上也沒再用,所以我後續也不會去測試。
@Jansan Wu
剛測試30分鐘看起來,基本上沒上面提到的問題了
Firefox版也OK。 可以拜托你幫我測試一下,
如果這個腳本的代碼, 刪除以下的代碼 (1687行 ~ 1709行), 是不是也是沒問題的?
if (ENABLE_CHAT_MESSAGES_BOOSTED_STAMPING) {
let shouldCheckYTidRenamer = false;
document.addEventListener("youtube-chat-element-before-remove", (event) => {
shouldCheckYTidRenamer && fixForYTidRenamer(event.target);
}, true);
document.addEventListener("youtube-chat-element-after-append", (event) => {
if (tryCheckCount > 4) tryCheckCount = 4;
shouldCheckYTidRenamer && fixForYTidRenamer(event.target);
}, true);
let tryCheckCount = 9999;
(new MutationObserver((mutations, observer) => {
if (--tryCheckCount <= 0) observer.disconnect();
if (!shouldCheckYTidRenamer) {
if (document.querySelector("[data-ytid-handle], [data-ytid-replaced]")) {
shouldCheckYTidRenamer = true;
console.log("[yt-chat] fixForYTidRenamer is enabled");
}
}
})).observe(document, { subtree: true, childList: true });
}
@Jansan Wu
剛測試30分鐘看起來,基本上沒上面提到的問題了
Firefox版也OK。
可以拜托你幫我測試一下,如果這個腳本的代碼, 刪除以下的代碼 (1687行 ~ 1709行),
是不是也是沒問題的?if (ENABLE_CHAT_MESSAGES_BOOSTED_STAMPING) { let shouldCheckYTidRenamer = false; document.addEventListener("youtube-chat-element-before-remove", (event) => { shouldCheckYTidRenamer && fixForYTidRenamer(event.target); }, true); document.addEventListener("youtube-chat-element-after-append", (event) => { if (tryCheckCount > 4) tryCheckCount = 4; shouldCheckYTidRenamer && fixForYTidRenamer(event.target); }, true); let tryCheckCount = 9999; (new MutationObserver((mutations, observer) => { if (--tryCheckCount <= 0) observer.disconnect(); if (!shouldCheckYTidRenamer) { if (document.querySelector("[data-ytid-handle], [data-ytid-replaced]")) { shouldCheckYTidRenamer = true; console.log("[yt-chat] fixForYTidRenamer is enabled"); } } })).observe(document, { subtree: true, childList: true }); }
你是指測試「YTid 名稱修復器」擴充套件,還是「YouTube LiveChat handle-id to username」腳本?
你是指測試「YTid 名稱修復器」擴充套件,還是「YouTube LiveChat handle-id to username」腳本?
@Jansan Wu
你是指測試「YTid 名稱修復器」擴充套件,還是「YouTube LiveChat handle-id to username」腳本?
@Jansan Wu
- 在 "YouTube LiveChat handle-id to username" 裡刪掉這幾行
- 把 「YTid 名稱修復器」擴充套件 和 「YouTube LiveChat handle-id to username」腳本 都開啟
- 測試一下
你的2個"YouTube LiveChat handle-id to username"應該都是"YouTube Super Fast Chat"吧?
然後不確定是否是因為你後來有修改,我的0.102.26版要刪除的代碼在1689行 ~ 1711行,和你給的行數差了2行
你是指測試「YTid 名稱修復器」擴充套件,還是「YouTube LiveChat handle-id to username」腳本? @Jansan Wu在 "YouTube LiveChat handle-id to username" 裡刪掉這幾行把 「YTid 名稱修復器」擴充套件 和 「YouTube LiveChat handle-id to username」腳本 都開啟測試一下 你的2個"YouTube LiveChat handle-id to username"應該都是"YouTube Super Fast Chat"吧?然後不確定是否是因為你後來有修改,我的0.102.26版要刪除的代碼在1689行 ~ 1711行,和你給的行數差了2行
對打錯了
可能我數錯吧,不好意思。
目前我常看的台沒直播,還有沒有要補的檔,加上「YTid 名稱修復器」之前的小bug需要等好幾次SC、會員留言和送會員才會出現,然後用戶暱稱修改錯誤要我熟的人比較容易發現,所以今天不一定來得及測試出結果,先跟您說一下。
我還沒有等到有SC、會員留言和送會員來測試bug,但就出現大量同名用戶暱稱修改錯誤,這個bug之前沒遇過,不確定是刪除代碼的原因,還是「YTid 名稱修復器」原本就有的bug。
因為「YTid 名稱修復器」本來就沒完全修復和"YouTube Super Fast Chat"的相容性,所以如果之後觀察和沒刪除代碼一樣有的bug就不額外回報。
目前已知沒刪除腳本代碼,「YTid 名稱修復器」就有的bug:
1. 偶爾用戶暱稱修改錯誤,自訂暱稱(直播常見看到是自己的暱稱,可能自己留言時機影響到排序,但也不排除有別人的暱稱,只是沒注意到)和handle一致或沒有handle但是別人的,頭像對,但點頭像是錯誤頻道或無反應
2. SC、會員留言和送會員一樣有時候會出錯
3. Tooltip有時候會沒顯示@ID
4. 原本錯誤的使用者名稱先顯示,後來才修改成正確的
感謝測試
換回吧 感覺 YTid 名稱修復器 的作者還沒有修正
暫時的方法是
const ENABLE_CHAT_MESSAGES_BOOSTED_STAMPING = true;
const ENABLE_TICKERS_BOOSTED_STAMPING = true;
兩行都由 true 改成 false
在他修好之前都要這樣手動改
上面的修正代碼我先暫時保留
此腳本會導致YTid 名稱修復器( https://addons.mozilla.org/zh-TW/firefox/addon/ytid-名稱修復器/ )修改聊天室改回用戶暱稱時,將用戶暱稱修改錯誤,改成別人的,並且以 Tooltip 顯示的名稱和@handle是不同人的。