logoalt Hacker News

A new spam policy for “back button hijacking”

734 pointsby zdwtoday at 3:06 AM431 commentsview on HN

Comments

seanalltogethertoday at 10:12 AM

Does this also apply to sites like instagram that simply erase your entire back button history if you visit the site.

twismtoday at 4:27 AM

Reddit! I'm looking at you?

show 3 replies
LLLDPtoday at 8:44 AM

So someone developed a malicious plugin to achieve this? Otherwise, I can't imagine how they could bypass the browser to do this.

mikkomtoday at 7:50 AM

Maybe we can get facebook finally drop this dark pattern

Yizahitoday at 10:01 AM

I'm at a stage when I click back button extremely rarely and is amazed when it works as I expected.

a13otoday at 11:17 AM

This would have been great back when I used a search engine to visit web pages.

jonahs197today at 1:28 PM

Microsoft joke support forum stil does this?

hmokiguesstoday at 3:34 PM

It's getting very tiring seeing things that could be first-class user defined controls baked in the browser so that you have true agency over the behaviour being done like this

It's like the other thread from before where LinkedIn scans for your extensions, the fact they can do that without prompting for permission from the user is baffling

nottorptoday at 8:00 AM

So why don't google just disable the possibility of hijacking the back button in Chrome, to give an example?

show 4 replies
phkahlertoday at 1:23 PM

I never understood why browsers ever allowed this in the first place. It's obviously bad. Yeah, yeah there are "reasons" but it's still obviously a bad solution to whatever "problem" they were trying to solve.

sidewndr46today at 12:36 PM

too little, too late. The API for interacting with the back button in Javascript should never have existed in any capacity.

vladdetoday at 8:46 AM

i wonder if this includes sites that do auto-redirect: A -> B (auto-redirect) -> C

if i'm on page C and go back, page B will take me to page C again. i think this is more about techincal incompetence rather than malicious intent, but still annoying.

alpaca128today at 8:18 AM

Great! So they'll fix the back button bugs on YouTube, and return me to the previous set of video recommendations when I use it on the homepage, right? Right? And let me return to the actual site when it detects that I lost the web connection for 0.01 seconds and hides all the content, and I then press the back button?

felixdingtoday at 11:16 AM

This is great. Can Google also stop scroll hijacking?

neeeeeealtoday at 11:56 AM

Is there not a plugin that helps to fix this?

skrebbeltoday at 11:42 AM

How does this work? How can a site inject a totally different site into the history? I thought eg the History API only lets you add to the stack and pop, not modify history?

show 1 reply
synacktoday at 4:05 AM

Are they considering all uses of window.history.pushState to be hijacking? If so, why not remove that function from Chrome?

show 3 replies
G_o_Dtoday at 6:17 AM

Instagram comments page requires 2 quick back press or else it won't take to previous page

NooneAtAll3today at 5:57 AM

is there a policy on "home button hijacking"?

I'm tired of apps that intercept home button to ask "are you sure?" - home button is home button, return me to the main phone screen

also, ads at the bottom of the screen, so that if you miss home button you open a website

gwbas1ctoday at 1:29 PM

It seems like a lot of the APIs that make a website act like an application need to be disabled by default; and some kind of friction needs to exist to enable them.

Edit: I'm not sure what kind of friction is needed, either an expensive review process (that most application developers would complain about but everyone else would roll their eyes) or a reputation system. Maybe someone else can think of a better approach than me?

htktoday at 2:01 PM

Popups were dealt in a way that could be useful here, they're only permitted when the user directly generates the interaction that creates the popup (not scripted). The back button could use the same algorithm back in history, only go back to screens that the user directly navigated.

bschwindHNtoday at 4:02 AM

Cool, now maybe let's do something about all the shit I have to clear out out my face before I can read a simple web page. For example, on this very article I had to click "No thanks" for cookies and then "No thanks" for a survey or something. And then there was an ad at the top for some app that I also closed.

It's like walking into some room and having to swat away a bunch of cobwebs before doing whatever it is you want to do (read some text, basically).

show 5 replies
kartik_maliktoday at 9:17 AM

that's crazy things goin on

imirictoday at 6:00 AM

> We believe that the user experience comes first.

If by "user" you mean advertisers, sure you do. Everyone else is an asset to extract as much value from as possible. You actively corrupt their experience.

The fact these companies control the web and its major platforms is one of the greatest tragedies of the modern era.

sublineartoday at 5:39 AM

> Notably, some instances of back button hijacking may originate from the site's included libraries or advertising platform. We encourage site owners to thoroughly review their technical implementation...

Hah. In my time working with marketing teams this is highly unlikely to happen. They're allergic to code and they far outnumber everyone else in this space. Their best practices become the standard for everyone else that's uninitiated.

What they will probably do is change that vanity URL showing up on the SERP to point to a landing page that meets the requirements (only if the referer is google). This page will have the link the user wants. It will be dressed up to be as irresistible as possible. This will become the new best practice in the docs for all SEO-related tools. Hell, even google themselves might eventually put that in their docs.

In other words, the user must now click twice to find the page with the back button hijacking. Even sweeter is that the unfettered back button wouldn't have left their domain anyway.

This just sounds like another layer of yet more frustration. Contrary to popular belief, the user will put up with a lot of additional friction if they think they're going somewhere good. This is just an extra click. Most users probably won't even notice the change. If anything there will be propaganda aimed at aspiring web devs and power users telling them to get mad at google for "requiring" landing pages getting in the way of the content (like what happened to amp pages).

kstenerudtoday at 5:50 AM

Now if only they'd do this for Android apps that hijack the back button to pop up things, or say "are you sure you want to leave?"

incognito124today at 5:16 AM

Now, if they only declared scroll hijacking as spam...

charcircuittoday at 4:12 AM

Google should actually fix this from the browser side instead of trying to seriously punish potentially buggy sites.

show 3 replies
globalnodetoday at 7:44 AM

will google really punish sites for doing this? and if so how do i report a site? i guess i could email the site with the google link and suggest they fix it first

show 1 reply
Animatstoday at 6:01 AM

Now to prevent scroll bar hijacking.

ciktoday at 7:16 AM

Great. Now do Android phones...

shevy-javatoday at 10:19 AM

I don't trust Google.

We need to go back to an independent and competent research group designing standards. Right now Google pwns and controls the whole stack (well, not really ALL of it 1:1, but it has a huge influence on everything via the de-facto chrome monopoly).

Remember how Google took out ublock origin. They also lied about this aka "not safe standards" - in reality they don't WANT people to block ads.

show 1 reply
purushpsm147today at 6:21 PM

[dead]

tgsovlerkhgseltoday at 4:05 AM

Now do paywalls next.

show 1 reply
Serhii-Settoday at 3:23 PM

[dead]

Arthur00today at 12:12 PM

[dead]

andrewmcwatterstoday at 4:27 AM

[dead]

dnnddidiejtoday at 5:29 AM

Easy fix:

JS doesn't let you change back button behaviour.

Q. But what about SPA?

A. Draw your own app-level back button top left of page.

Another solution: make it a permisson.

show 4 replies