Skip to content

Loading…

[Firefox] NoScript displays placeholders for blocked content unlike when using ADP #851

Open
vdcbb opened this Issue · 6 comments

4 participants

@vdcbb

I realize this may be a NoScript issue, but thought I'd leave word here in case you have any insight.

With Adblock Plus (ADP) set to hide placeholders and NoScript set to display placeholders, everything works as expected: blocked content (e.g., iFrame) shows no placeholder, but this does not work with uBlock (hiding placeholders) and NoScript (displaying placeholders).

With uBlock, the content seems to be blocked as evidenced by using Firefox's development console to view Network connections but NoScript still displays a placeholder for the "blocked" content. Since NoScript's "placeholder behavior" works correctly with ADP, I wondered if maybe there was something ADP was doing (that uBlock is not) to keep NoScript from showing placeholders?

uBlock is great. Thanks for such a great piece of work.

With NoScript displaying placeholders I gain the ability to "click-to-play" content (e.g., an iFrame of a Youtube video). And it's nice to have ad-content placeholders not show. So this is why I have uBlock/NoScript setup like this.

@gorhill

Previously reported: gorhill/uBlock#27 (comment).

@gitarra

It's better for NoScript to have a higher priority than uBlock so that script surrogates etc work.

It causes these cosmetic issues but I'd rather have working script surrogates, unlike with ABP.

If you allow the content in NoScript, µblock should catch it after it has passed Noscript and there wont be a placeholder.

@vdcbb

Thanks for the info guys. I think allowing NoScript to run its surrogates is probably the best move too.

@gitarra I noticed that mobile.twitter.com won't allow access with blocked scripts on Firefox. (Seems a surrogate is needed here). But Chrome/Chromium works fine on mobile.twitter.com with blocked scripts. You have any insight into why this is?

@vdcbb

I figured out a way to fix this issue using NoScript settings.

If we see a NoScript placeholder for an object in a uBlock filter list, just set that object to NoScript's "Untrusted" and enable the following setting:
Options > Embeddings: No placeholder for objects coming from sites marked as untrusted.

This works to hide the placeholder. But if we mark sites/objects Untrusted in NoScript and they are set $third-party in uBlock (e.g., facebook, twitter) then this breaks these sites when we visit them as a 1st party. To fix this use NoScript ABE to set a rule that allows the site if it is a 1st party.

Pretty websites with NoScript running first and uBlock second.

@gitarra

@vdcbb No idea. Thats weird indeed if Chrome works fine while Firefox doesnt.

Anyway my take on this is that its better for NoScript to have first priority here, I want my surrogates, e.g. google analytics is notorius for breaking sites if blocked (without a surrogate).

@gorhill gorhill changed the title from NoScript displays placeholders for blocked content unlike when using ADP to [Firefox] NoScript displays placeholders for blocked content unlike when using ADP
@ThrawnCA

Recent versions of NoScript are smart enough to run surrogates even if another tool (like uBlock) was responsible for blocking the site; see the changelog (https://noscript.net/changelog) for version 2.6.8.27

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.