Homepage-Following: insert instead of replace when ad-blocker is detected (#1092)
* Homepage-Following: insert instead of replace when ad-blocker is detected. `window.odysee_ad_blocker_detected` was not meant to be used outside of `<Ads>`, since it wouldn't spark a GUI update. But since homepages are rendered several times, perhaps it doesn't matter and we can skip adding to redux for now. * Handle uBlock origin If refreshed via "Clear Cache and Hard Reload", the detection method fails, but it does perform an internal redirect, so treat that as a failure.
This commit is contained in:
parent
63f19b278d
commit
de29e323a8
2 changed files with 8 additions and 3 deletions
|
@ -99,7 +99,12 @@ function HomePage(props: Props) {
|
|||
hasSource
|
||||
prefixUris={getLivestreamUris(activeLivestreams, options.channelIds)}
|
||||
pinUrls={pinUrls}
|
||||
injectedItem={index === 0 && { node: <Ads small type="video" tileLayout />, replace: true }}
|
||||
injectedItem={
|
||||
index === 0 && {
|
||||
node: <Ads small type="video" tileLayout />,
|
||||
replace: window.odysee_ad_blocker_detected === false,
|
||||
}
|
||||
}
|
||||
/>
|
||||
);
|
||||
|
||||
|
|
|
@ -73,8 +73,8 @@ function Ads(props: Props) {
|
|||
const GOOGLE_AD_URL = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
|
||||
|
||||
fetch(GOOGLE_AD_URL)
|
||||
.then(() => {
|
||||
window.odysee_ad_blocker_detected = false;
|
||||
.then((response) => {
|
||||
window.odysee_ad_blocker_detected = response.redirected === true;
|
||||
})
|
||||
.catch(() => {
|
||||
window.odysee_ad_blocker_detected = true;
|
||||
|
|
Loading…
Reference in a new issue