mirror of
https://github.com/AdguardTeam/AdguardFilters.git
synced 2026-08-29 12:14:41 +00:00
Fix youtube whitescreen
This commit is contained in:
@@ -171,13 +171,28 @@ youtube.com###related > ytd-watch-next-secondary-results-renderer > #items > ytd
|
||||
youtube.com###watch7-branded-banner
|
||||
youtube.com##ytd-promoted-sparkles-web-renderer
|
||||
youtube.com##ytd-search-pyv-renderer
|
||||
! Youtube whitescreen fix
|
||||
youtube-nocookie.com,youtube.com#%#//scriptlet("json-prune", "adPlacements playerAds")
|
||||
!
|
||||
! START: Youtube whitescreen fix
|
||||
!
|
||||
! TODO: replace the JS rule with a json-prune scriptlet
|
||||
! TODO: check that set-constant for ytInitialPlayerResponse.adPlacements is really necessary
|
||||
!
|
||||
! This one handles an XHR request for YT player data
|
||||
! smart JSON override: https://gist.github.com/ameshkov/0c5148f243ffe9d8e40fd9ee11f142f4
|
||||
! smartJSONParseOverride('adPlacements', [], /.*/);
|
||||
! smartJSONParseOverride('playerAds', [], /.*/);
|
||||
youtube-nocookie.com,youtube.com#%#(function(){var overrideObject=function(obj,propertyName,overrideValue){var overriden=false;for(var key in obj)if(obj.hasOwnProperty(key)&&key===propertyName){obj[key]=overrideValue;overriden=true}else if(obj.hasOwnProperty(key)&&typeof obj[key]==="object")if(overrideObject(obj[key],propertyName,overrideValue))overriden=true;return overriden};var smartJSONParseOverride=function(propertyName,overrideValue,reStack){var realParse=JSON.parse;JSON.parse=function(text,reviver){var obj=realParse(text,reviver);if(!obj)return obj;var stackTrace=(new Error).stack;if(reStack.test(stackTrace))if(overrideObject(obj,propertyName,overrideValue));return obj}};smartJSONParseOverride("adPlacements",[],/.*/);smartJSONParseOverride("playerAds",[],/.*/)})();
|
||||
! This one might be needed when the page is loaded for the first time
|
||||
youtube-nocookie.com,youtube.com#%#//scriptlet('set-constant', 'ytInitialPlayerResponse.adPlacements', 'undefined')
|
||||
youtube-nocookie.com,youtube.com#%#//scriptlet('set-constant', 'playerResponse.adPlacements', 'undefined')
|
||||
! This one may be unnecessary:
|
||||
||youtube.com/get_video_info?*=adunit&$important
|
||||
! https://github.com/AdguardTeam/AdguardFilters/issues/51453
|
||||
!+ NOT_OPTIMIZED
|
||||
||youtube.com/get_video_info?$~third-party,badfilter
|
||||
!
|
||||
! END: Youtube whitescreen fix
|
||||
!
|
||||
! Fixing embedded video player
|
||||
! https://github.com/easylist/easylist/issues/5112
|
||||
! https://github.com/easylist/easylist/commit/3ed65e66e22963dc08a659dce6baa344ff158664
|
||||
|
||||
@@ -9,19 +9,14 @@
|
||||
! YouTube ads (for old and new ads)
|
||||
! youtube.com - white screen with skip button
|
||||
|
||||
! This one works okay.
|
||||
! smart JSON override: https://gist.github.com/ameshkov/0c5148f243ffe9d8e40fd9ee11f142f4
|
||||
! smartJSONParseOverride('adPlacements', [], /base.js:[0-9]+/);
|
||||
! smartJSONParseOverride('playerAds', [], /base.js:[0-9]+/);
|
||||
! youtube.com#%#(function(){var overrideObject=function(obj,propertyName,overrideValue){var overriden=false;for(var key in obj){if(obj.hasOwnProperty(key)&&key===propertyName){obj[key]=overrideValue;overriden=true}if(obj.hasOwnProperty(key)&&typeof obj[key]==="object")if(overrideObject(obj[key]))overriden=true}return overriden};var smartJSONParseOverride=function(propertyName,overrideValue,reStack){var realParse=JSON.parse;JSON.parse=function(text,reviver){var obj=realParse(text,reviver);if(!obj)return obj;var stackTrace=(new Error).stack;if(reStack.test(stackTrace))if(overrideObject(obj,propertyName,overrideValue));return obj}};smartJSONParseOverride("adPlacements",[],/base.js/);smartJSONParseOverride("playerAds",[],/base.js/)})();
|
||||
|
||||
! I am not sure why we need this, commented out
|
||||
! !#if (!adguard_app_ios && !adguard_ext_android_cb)
|
||||
! @@||youtube.com/get_video_info
|
||||
! !#endif
|
||||
|
||||
! YT fix using json-prune, prune only 1 level
|
||||
youtube.com#%#//scriptlet("json-prune", "adPlacements playerAds")
|
||||
! Commented out - not needed anymore
|
||||
! youtube.com#%#//scriptlet("json-prune", "adPlacements playerAds")
|
||||
|
||||
! These two rules seem to be working okay.
|
||||
! Commented out for now in order to test the smart override function
|
||||
|
||||
Reference in New Issue
Block a user