diff --git a/firefox/popup/settings.html b/firefox/popup/settings.html
index 5569f3dd..010951b7 100644
--- a/firefox/popup/settings.html
+++ b/firefox/popup/settings.html
@@ -737,6 +737,8 @@
Changelog
1.1.52
+ - Disney improved ad skip
+ - Disney fixed Bug first ad is not skipped
- TMDB refresh new movie ratings every day
diff --git a/firefox/skipper.js b/firefox/skipper.js
index 0ec32d9b..5cfb3d54 100644
--- a/firefox/skipper.js
+++ b/firefox/skipper.js
@@ -205,6 +205,10 @@ if (isPrimeVideo || isNetflix || isDisney || isHotstar || isCrunchyroll || isHBO
else if (isDisney || isHotstar) {
if (isHotstar) Hotstar_doubleClick();
DisneyObserver.observe(document, config);
+ setInterval(function () {
+ let video = Array.from(document.querySelectorAll("video")).find((v) => v.checkVisibility());
+ if (settings.Disney?.skipAd) Disney_skipAd(video);
+ }, 300);
} else if (isCrunchyroll) startCrunchyroll(settings.Crunchyroll);
else if (isHBO) HBOObserver.observe(document, config);
if (settings?.Video?.playOnFullScreen) startPlayOnFullScreen();
@@ -579,8 +583,8 @@ if (isPrimeVideo || isNetflix || isDisney || isHotstar || isCrunchyroll || isHBO
// Disney Observers
const DisneyObserver = new MutationObserver(Disney);
function Disney() {
- let video = document.querySelector("video");
- if (!video) video = document.querySelector("disney-web-player")?.shadowRoot?.firstChild?.firstChild;
+ // first ad not first video
+ let video = Array.from(document.querySelectorAll("video")).find((v) => v.checkVisibility());
const time = video?.currentTime;
if (settings.Disney?.skipIntro) Disney_Intro(video, time);
Disney_skipCredits(time);
@@ -591,22 +595,22 @@ if (isPrimeVideo || isNetflix || isDisney || isHotstar || isCrunchyroll || isHBO
if (settings.Disney?.selfAd) Disney_selfAd(video, time);
}
if (settings.Video?.scrollVolume) Disney_scrollVolume(video);
- if (settings.Disney?.skipAd) Disney_skipAd(video);
}
async function Disney_skipAd(video) {
if (video) {
const adTimeText = document.querySelector("div.overlay_interstitials__content_time_display");
if (adTimeText) {
const adTime = parseAdTime(adTimeText.textContent);
- if (adTime >= 1 && !lastAdTimeText) {
- lastAdTimeText = adTime;
- resetLastATimeText(100);
+ if (adTime >= 1 && lastAdTimeText != video.currentTime) {
+ if (lastAdTimeText == 0) {
+ log("Disney Ad skipped, length:", adTime, "s");
+ settings.Statistics.DisneyAdTimeSkipped += adTime;
+ increaseBadge();
+ }
+ lastAdTimeText = video.currentTime;
video.currentTime += adTime;
- log("Disney Ad skipped, length:", adTime, "s");
- settings.Statistics.DisneyAdTimeSkipped += adTime;
- increaseBadge();
}
- }
+ } else lastAdTimeText = 0;
// remove das video wird nach der pause fortgesetzt text after skipping ad
const continueText = document.querySelector("p.toast-notification__text[aria-hidden='true']");
if (continueText?.checkVisibility()) {