-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Site problem with the new google-ima shim script #2265
Comments
Looks like after |
Ok let's remove the redirect-rule filter. We will try to use the filter only when video breakage is reported when ima3 is blocked (there are many exceptions for this, I though a neutered script would help). |
So we will try to fix breakage as a result of blocking ima3 by using the redirect rule, and if this does not work, we will then use an exception filter (as was the case before ima3). When the redirect rule does not work, I will try to find out if the ima3 neutered script can be improved. |
@gorhill I'm not sure if google-ima has updated or not. In this case: uBlockOrigin/uAssets#13393 (comment) , when I switched from allowing to redirection via @@||components2.rcsobjects.it/rcs_adv/v1/distro/dfp/common/prebid$script,domain=oggi.it
@@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=oggi.it,badfilter
||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=oggi.it,redirect-rule=google-ima.js video is still broken and there are errors reported that oggi.it##+js(set, google.ima.OmidVerificationVendor, {})
oggi.it##+js(set, Object.prototype.omidAccessModeRules, {}) then the video works. The ima script has w("google.ima.OmidVerificationVendor", {
COMSCORE: 7,
DOUBLEVERIFY: 3,
GOOGLE: 9,
INTEGRAL_AD_SCIENCE: 4,
MEETRICS: 8,
MOAT: 2,
NIELSEN: 6,
PIXELATE: 5,
OTHER: 1,
7: "COMSCORE",
3: "DOUBLEVERIFY",
9: "GOOGLE",
4: "INTEGRAL_AD_SCIENCE",
8: "MEETRICS",
2: "MOAT",
6: "NIELSEN",
5: "PIXELATE",
1: "OTHER"
}); and Same situation with uBlockOrigin/uAssets#16309 @@||components2.rcsobjects.it/rcs_adv/*/distro/dfp/common/prebid$script,domain=video.gazzetta.it
||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=video.gazzetta.it,redirect-rule=google-ima.js
video.gazzetta.it##+js(set, google.ima.OmidVerificationVendor, {})
video.gazzetta.it##+js(set, Object.prototype.omidAccessModeRules, {}) |
@gorhill With: When clicking on any video here: I get in console: TypeError: this is undefined
value NextJS
_dispatch https://imasdk.googleapis.com/js/sdkloader/ima3.js:323
requestAds https://imasdk.googleapis.com/js/sdkloader/ima3.js:364
promise callback*requestAds https://imasdk.googleapis.com/js/sdkloader/ima3.js:361
NextJS 73
[ima3.js:325:19](https://imasdk.googleapis.com/js/sdkloader/ima3.js)
_dispatch https://imasdk.googleapis.com/js/sdkloader/ima3.js:325
requestAds https://imasdk.googleapis.com/js/sdkloader/ima3.js:364
(Async: promise callback)
requestAds https://imasdk.googleapis.com/js/sdkloader/ima3.js:361 |
There are 2 sites that need |
https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/history:
|
Confirm it works 👍 |
Issue on: Details: AdguardTeam/Scriptlets#353 |
I worked through some of the websites listed in the uBlock issue[1] for the google-ima.js surrogate script, to see what was going wrong: 1. It turns out the addEventListener method supports an optional context Object, which is bound to the provided listener. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. 2. The AdError.prototype.getInnerError()[] method should return null or error, but was returning undefined. This broke websites that explicitly checked for null. 1 - uBlockOrigin/uBlock-issues#2265 2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError
I worked through some of the websites listed in the uBlock issue[1] for the google-ima.js surrogate script, to see what was going wrong: 1. It turns out the addEventListener method supports an optional context Object, which is bound to the listener if provided. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. 2. The AdError.prototype.getInnerError()[2] method should return null or error, but was returning undefined. This broke websites that explicitly checked for null. 1 - uBlockOrigin/uBlock-issues#2265 2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError#getInnerError
I worked through some of the websites listed in the uBlock issue[1] for the google-ima.js surrogate script, to see what was going wrong: 1. It turns out the addEventListener method supports an optional context Object, which is bound to the listener if provided. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. 2. The AdError.prototype.getInnerError()[2] method should return null or an Error Object, but was returning undefined. This broke websites that explicitly checked for null. 1 - uBlockOrigin/uBlock-issues#2265 2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError#getInnerError
I worked through some of the websites listed in the uBlock issue[1] for the google-ima.js surrogate script, to see what was going wrong. It turned out the addEventListener method supports an optional context Object, which is bound to the listener if provided. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. See also duckduckgo/tracker-surrogates#24 1 - uBlockOrigin/uBlock-issues#2265
I worked through some of the websites listed in the google-ima shim script issue[1], to see what was going wrong. It turned out the addEventListener method supports an optional context Object, which is bound to the listener if provided. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. See also duckduckgo/tracker-surrogates#24 1 - uBlockOrigin/uBlock-issues#2265
I worked through some of the websites listed in the google-ima shim script issue[1], to see what was going wrong. It turned out the addEventListener method supports an optional context Object, which is bound to the listener if provided. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. See also duckduckgo/tracker-surrogates#24 1 - uBlockOrigin/uBlock-issues#2265
I worked through some of the websites listed in the uBlock issue[1] for the google-ima.js surrogate script, to see what was going wrong: 1. It turns out the addEventListener method supports an optional context Object, which is bound to the listener if provided. Some websites make use of that, and then break when `this` is not bound correctly when events are dispatched. 2. The AdError.prototype.getInnerError()[2] method should return null or an Error Object, but was returning undefined. This broke websites that explicitly checked for null. 1 - uBlockOrigin/uBlock-issues#2265 2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError#getInnerError
Discussed in #2264
Originally posted by vlaszlo September 13, 2022
STR (using the most current Firefox nightly, if it matters):
If I interpret the logger right, the google-ima script is blocked with beta3, while it's replaced with the shim in beta4. Allowing the connection to imasdk.googleapis.com makes the videos work normally again in beta4, too.
Now the question: Filter issue (an exception needs to be added) or uBlock issue (the shim script needs to be improved)?
The text was updated successfully, but these errors were encountered: