Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 61a1f88

Browse files
Merge pull request #39 from vtt132109/patch-2
Fix repeating dislike count issue on YouTube
2 parents 870e04e + 6a5edf5 commit 61a1f88

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

‎scripts/youtube_viewDislikes.js‎

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ export default {
3838
);
3939
if (!label) return;
4040
let text = numberFormat(dislikeCount);
41+
42+
// Kiểm tra và chỉ cập nhật nếu cần thiết
4143
if (label.textContent != text) label.textContent = text;
4244
}
4345

@@ -62,22 +64,31 @@ export default {
6264

6365
function makeUI(dislikeCount = 0) {
6466
let className = "yt-spec-button-shape-next__button-text-content";
65-
let exist = button.querySelector(className);
67+
let exist = button.querySelector(`.${className}`);
68+
69+
// Kiểm tra nếu phần tử đã tồn tại, chỉ cập nhật nội dung
6670
if (exist) {
67-
exist.textContent = numberFormat(dislikeCount);
71+
const currentText = exist.textContent;
72+
const newText = numberFormat(dislikeCount);
73+
74+
// Chỉ cập nhật nếu nội dung thay đổi
75+
if (currentText !== newText) {
76+
exist.textContent = newText;
77+
}
6878
} else {
6979
let dislikeText = document.createElement("div");
7080
dislikeText.classList.add(className);
7181
dislikeText.textContent = numberFormat(dislikeCount);
7282
button.appendChild(dislikeText);
83+
7384
listeners.push(
7485
UfsGlobal.DOM.onElementRemoved(dislikeText, () =>
7586
makeUI(dislikeCount)
7687
)
7788
);
7889
}
7990

80-
// fix button style
91+
// Sửa lại phong cách của nút
8192
button.style.width = "auto";
8293
const dislikeIcon = button.querySelector(
8394
".yt-spec-button-shape-next__icon"
@@ -94,9 +105,9 @@ export default {
94105
}
95106

96107
function run() {
97-
// remove all pre listeners
108+
// Xóa tất cả listeners trước đó
98109
listeners.forEach((fn) => fn?.());
99-
listeners = []; // Reset listeners array after clearing
110+
listeners = []; // Reset listeners array sau khi xóa
100111

101112
if (isShorts()) listeners.push(listenShort());
102113
else listeners.push(listenVideo());
@@ -124,7 +135,6 @@ const cached = {};
124135

125136
const getDislikeDataDebounced = UfsGlobal.Utils.debounce(getDislikeData, 100);
126137

127-
// Source code extracted from https://chrome.google.com/webstore/detail/return-youtube-dislike/gebbhagfogifgggkldgodflihgfeippi
128138
async function getDislikeData(videoId, callback) {
129139
if (!videoId) return;
130140

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /