From 6791c44de3d9965060d3499237906d69f84e0c75 Mon Sep 17 00:00:00 2001 From: pixeltris <6952411+pixeltris@users.noreply.github.com> Date: Wed, 30 Dec 2020 01:11:34 +0000 Subject: [PATCH] Unlist "dyn-skip-midroll" and disable reloading in "dyn-skip-midroll-alt" --- README.md | 8 +++----- base/base.user.js | 7 ++++--- .../dyn-skip-midroll-alt-ublock-origin.js | 7 ++++--- dyn-skip-midroll-alt/dyn-skip-midroll-alt.user.js | 7 ++++--- dyn-skip-midroll/dyn-skip-midroll-ublock-origin.js | 7 ++++--- dyn-skip-midroll/dyn-skip-midroll.user.js | 7 ++++--- dyn-skip/dyn-skip-ublock-origin.js | 7 ++++--- dyn-skip/dyn-skip.user.js | 7 ++++--- dyn-video-swap/dyn-video-swap-ublock-origin.js | 7 ++++--- dyn-video-swap/dyn-video-swap.user.js | 7 ++++--- dyn/dyn-ublock-origin.js | 7 ++++--- dyn/dyn.user.js | 7 ++++--- mute-black/mute-black-ublock-origin.js | 7 ++++--- mute-black/mute-black.user.js | 7 ++++--- proxy-m3u8/proxy-m3u8-ublock-origin.js | 7 ++++--- proxy-m3u8/proxy-m3u8.user.js | 7 ++++--- 16 files changed, 63 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 75984dd..9c5ed73 100644 --- a/README.md +++ b/README.md @@ -19,12 +19,10 @@ If you don't trust third parties then `dyn-skip` / `dyn-skip-midroll-alt` are de - dyn-skip ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-skip/dyn-skip-ublock-origin.js) / [userscript](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-skip/dyn-skip.user.js)) - Notifies Twitch that ads were watched before requesting the main live stream. - Falls back to mute-black if this fails (use an alternative solution if it always fails for you, as it adds additional load). - - *Midroll ads are muted/blacked out, try `dyn-skip-midroll` or `dyn-skip-midroll-alt` for a more complete solution.* -- dyn-skip-midroll ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-skip-midroll/dyn-skip-midroll-ublock-origin.js) / [userscript](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-skip-midroll/dyn-skip-midroll.user.js)) - - The same as `dyn-skip`, but also *attempts* to skip midroll ads (it looks like this results in a reload loop, an alternative is `dyn-skip-midroll-alt`). - - **This requires the script to work perfectly, otherwise the player will hit a reload loop.** + - *Midroll ads are muted/blacked out. See `dyn-skip-midroll-alt` for a an alternative solution.* - dyn-skip-midroll-alt ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-skip-midroll-alt/dyn-skip-midroll-alt-ublock-origin.js) / [userscript](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-skip-midroll-alt/dyn-skip-midroll-alt.user.js)) - - A mix of `dyn-skip-midroll` / `dyn` to avoid player reload spam during midroll ads (player reloads are limited to 60 seconds apart, low resolution stream plays when nothing else is available - might be a little glitchy but better than player reload spam). + - A mix of `dyn-skip` / `dyn`. During midrolls this plays a low resolution stream instead of nothing - might be a little glitchy but should always play *something*. + - *If you see a `Waiting for ads to finish` banner without `midroll` in the banner text, you should be able to just refresh the page to get a regular stream.* - dyn-video-swap ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-video-swap/dyn-video-swap-ublock-origin.js) / [userscript](https://github.com/pixeltris/TwitchAdSolutions/raw/master/dyn-video-swap/dyn-video-swap.user.js)) - Ads are replaced by a low resolution stream for the duration of the ad. - Similar to `dyn`, but skips closer to 20 seconds when switching to the live stream. diff --git a/base/base.user.js b/base/base.user.js index 5a8dbf0..b8111a1 100644 --- a/base/base.user.js +++ b/base/base.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = '
'; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-skip-midroll-alt/dyn-skip-midroll-alt-ublock-origin.js b/dyn-skip-midroll-alt/dyn-skip-midroll-alt-ublock-origin.js index ee12a5d..c9bf365 100644 --- a/dyn-skip-midroll-alt/dyn-skip-midroll-alt-ublock-origin.js +++ b/dyn-skip-midroll-alt/dyn-skip-midroll-alt-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-skip-midroll-alt/dyn-skip-midroll-alt.user.js b/dyn-skip-midroll-alt/dyn-skip-midroll-alt.user.js index 87afdf4..f7b3327 100644 --- a/dyn-skip-midroll-alt/dyn-skip-midroll-alt.user.js +++ b/dyn-skip-midroll-alt/dyn-skip-midroll-alt.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-skip-midroll/dyn-skip-midroll-ublock-origin.js b/dyn-skip-midroll/dyn-skip-midroll-ublock-origin.js index 8e3df87..6f26a9a 100644 --- a/dyn-skip-midroll/dyn-skip-midroll-ublock-origin.js +++ b/dyn-skip-midroll/dyn-skip-midroll-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-skip-midroll/dyn-skip-midroll.user.js b/dyn-skip-midroll/dyn-skip-midroll.user.js index 2a13510..aa97325 100644 --- a/dyn-skip-midroll/dyn-skip-midroll.user.js +++ b/dyn-skip-midroll/dyn-skip-midroll.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-skip/dyn-skip-ublock-origin.js b/dyn-skip/dyn-skip-ublock-origin.js index 3ae445e..65c9789 100644 --- a/dyn-skip/dyn-skip-ublock-origin.js +++ b/dyn-skip/dyn-skip-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-skip/dyn-skip.user.js b/dyn-skip/dyn-skip.user.js index d86dc39..87d2228 100644 --- a/dyn-skip/dyn-skip.user.js +++ b/dyn-skip/dyn-skip.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-video-swap/dyn-video-swap-ublock-origin.js b/dyn-video-swap/dyn-video-swap-ublock-origin.js index 97382c7..d14f91d 100644 --- a/dyn-video-swap/dyn-video-swap-ublock-origin.js +++ b/dyn-video-swap/dyn-video-swap-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn-video-swap/dyn-video-swap.user.js b/dyn-video-swap/dyn-video-swap.user.js index 46f8423..5eebaae 100644 --- a/dyn-video-swap/dyn-video-swap.user.js +++ b/dyn-video-swap/dyn-video-swap.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn/dyn-ublock-origin.js b/dyn/dyn-ublock-origin.js index 6d1a2e5..9b657b6 100644 --- a/dyn/dyn-ublock-origin.js +++ b/dyn/dyn-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/dyn/dyn.user.js b/dyn/dyn.user.js index c71e64d..67c3870 100644 --- a/dyn/dyn.user.js +++ b/dyn/dyn.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/mute-black/mute-black-ublock-origin.js b/mute-black/mute-black-ublock-origin.js index 1e15579..45ee504 100644 --- a/mute-black/mute-black-ublock-origin.js +++ b/mute-black/mute-black-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/mute-black/mute-black.user.js b/mute-black/mute-black.user.js index be48e12..e3ff4b3 100644 --- a/mute-black/mute-black.user.js +++ b/mute-black/mute-black.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/proxy-m3u8/proxy-m3u8-ublock-origin.js b/proxy-m3u8/proxy-m3u8-ublock-origin.js index de2dcdf..4528016 100644 --- a/proxy-m3u8/proxy-m3u8-ublock-origin.js +++ b/proxy-m3u8/proxy-m3u8-ublock-origin.js @@ -75,6 +75,7 @@ twitch-videoad.js application/javascript this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -89,7 +90,6 @@ twitch-videoad.js application/javascript } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -97,8 +97,9 @@ twitch-videoad.js application/javascript if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -139,7 +140,7 @@ twitch-videoad.js application/javascript } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0; diff --git a/proxy-m3u8/proxy-m3u8.user.js b/proxy-m3u8/proxy-m3u8.user.js index d3c9b6a..47814d6 100644 --- a/proxy-m3u8/proxy-m3u8.user.js +++ b/proxy-m3u8/proxy-m3u8.user.js @@ -84,6 +84,7 @@ this.onmessage = function(e) { if (e.data.key == 'UboShowAdBanner') { if (adDiv == null) { adDiv = getAdDiv(); } + adDiv.P.textContent = 'Waiting for' + (e.data.isMidroll ? ' midroll' : '') + ' ads to finish...'; adDiv.style.display = 'block'; } else if (e.data.key == 'UboHideAdBanner') { @@ -98,7 +99,6 @@ } } function getAdDiv() { - var msg = 'Waiting for ads to finish...'; var playerRootDiv = document.querySelector('.video-player'); var adDiv = null; if (playerRootDiv != null) { @@ -106,8 +106,9 @@ if (adDiv == null) { adDiv = document.createElement('div'); adDiv.className = 'ubo-overlay'; - adDiv.innerHTML = ' '; + adDiv.innerHTML = ' '; adDiv.style.display = 'none'; + adDiv.P = adDiv.querySelector('p'); playerRootDiv.appendChild(adDiv); } } @@ -148,7 +149,7 @@ } // NOTE: midroll ads are intertwined with live segments, always display the banner on midroll ads if (haveAdTags && (!textStr.includes(LIVE_SIGNIFIER) || textStr.includes('MIDROLL'))) { - postMessage({key:'UboShowAdBanner'}); + postMessage({key:'UboShowAdBanner',isMidroll:textStr.includes('MIDROLL')}); } else if ((LastAdUrl && LastAdUrl == url) || LastAdTime < Date.now() - 10000) { postMessage({key:'UboHideAdBanner'}); LastAdTime = 0;