SPAs have their place in the ecosystem and can do things that simply aren't possible with page navigation alone. Don't blame the technology for developers or more likely their managers being shitty.
I think you are misunderstanding what is possible with the history API.
Pages can't read your navigation history.
Pages can't manipulate history prior to their loading.
The original history API is a careless mistake. It can:
Tell the browser to navigate forward n entries.
Tell the browser to navigate backward n entries.
See the length of the history stack.
Seeing the length is a privacy problem. Allowing arbitrary forward navigation is a usability problem that's ripe for abuse. Allowing back navigation to be more than a single page is a usability problem.
The newer pushState and replaceState APIs are fine. As their names imply, they push a new URL or replace the current URL in the navigation stack. The URLs are also subject to same-origin constraints, so you can't just replace the current page with an entirely different domain.
Using a replaceState followed by pushState to insert a dummy marker that runs history.go(1) when the popState event is fired allows pages to prevent users from navigating away from the website. That's shitty and abusive, yes.
Back button hijacking is an infuriating problem, but it's not a new one exclusive to SPAs. This fuckery has existed for a long time.
Edit: I don't like the state of the modern web either, but as you also noted, the problem with it is by and large Google's monopolistic dominance over web browsers and their incentive to not take privacy seriously. The only non-Blink browser engine with any notable market share is WebKit2, and that's only because Apple is abusing their own position.
If only they would obliterate Facebook then! Facebook is notorious for doing this when getting to forum posts from google and I'm trying to go back to google, and it it pisses me off.
I wish that the back button would send me back to the page + page position that I was on when I (the user) clicked a link or entered a form. I've never had a desire to revisit automatic redirect pages, so imo default behaviour should be to send the user back to the point of the previous user action. To me this seems easy and logical to implement, but I've never seen it, so maybe I'm missing something and it's not that easy.
That sounds like default behaviour, at least in Firefox, if a websites loaded as a static page and doesn't dynamically load its content after page load.
Since they mentioned redirect, I think they take an issue with the scenario of ‘click → more pages load and redirect you after each load → back’ that will repeatedly land you on just the last redirect page and then promptly redirect you forward to the newest page you tried to go back from
If it's default behaviour for static pages, but not for dynamic pages, then it's not much of a default. As a user I want ui actions to be consistent, the unknown stuff that happens in the background shouldn't change the behaviour of the ui. Firefox now mostly gets around this issue by opening search engine links in new tabs (I can't recall if that's standard for Firefox or if I had to change settings, but I've been using it for years like that), but this wouldn't have been needed if using the back button was reliable.
(N)TL;DR: back should mean back. Sites that continue to make back do something else will get lower rankings in search results, which means reduced traffic and revenue.
The least tech-savvy people don't use Windows, but Android or iOS, where Bing isn't the default search engine. (Slightly more tech-savvy ones may also use Chrome on Windows.)
As a tech-savvy person I still use Google a lot because DDG just doesn't give equally good results much of the time. There are many web pages that are indexed by Google, but not DDG.
Thanks for the tip, currently I usually get what I want from DDG and Google (almost never use any others), but if I ever become dissatisfied I might try it.
Wdym "suddenly"? Checking my user profile on hexbear it appears that my posts to lemmy.zip communities have been federating there for a long time. Your instance doesn't seem to defederate them, don't know if it ever did; mine certainly doesn't and I don't remember a time when it ever did.
25 Comments
TheMinions@lemmy.dbzer0.com · 78 pts · 162d
Learn.Microsoft.com is going to be pissed.
panda_abyss@lemmy.ca · 42 pts · 162d
In fact, most of the time I run into this it’s big corps who should know better, but don’t.
They won’t delist LinkedIn and Microsoft and Reddit. They just paid billions for Reddit content feeds.
WhyIHateTheInternet@lemmy.world · 10 pts · 162d
So is SFGate. I can't even bother with their bullshit articles anymore. You have to click back 3 TIMES just to get out.
tiramichu@sh.itjust.works · 64 pts · 162d
Google actually doing something good for once?
Oh, right. Not being able to press back prevents you going back to google.
lvxferre@mander.xyz · 56 pts · 162d
schnurrito@discuss.tchncs.de · 27 pts · 162d
I thought it was there because otherwise, single page applications (e.g. Angular) wouldn't have a functioning back button? Am I misunderstanding this?
lvxferre@mander.xyz · 13 pts · 162d
pivot_root@lemmy.world · 14 pts · 162d
SPAs have their place in the ecosystem and can do things that simply aren't possible with page navigation alone. Don't blame the technology for developers or more likely their managers being shitty.
lvxferre@mander.xyz · 3 pts · 162d
pivot_root@lemmy.world · 12 pts · 161d
I think you are misunderstanding what is possible with the history API.
Pages can't read your navigation history.
Pages can't manipulate history prior to their loading.
The original history API is a careless mistake. It can:
nentries.nentries.Seeing the length is a privacy problem. Allowing arbitrary forward navigation is a usability problem that's ripe for abuse. Allowing back navigation to be more than a single page is a usability problem.
The newer
pushStateandreplaceStateAPIs are fine. As their names imply, they push a new URL or replace the current URL in the navigation stack. The URLs are also subject to same-origin constraints, so you can't just replace the current page with an entirely different domain.Using a
replaceStatefollowed bypushStateto insert a dummy marker that runshistory.go(1)when thepopStateevent is fired allows pages to prevent users from navigating away from the website. That's shitty and abusive, yes.Do you know what else can do that, though?
Or
Back button hijacking is an infuriating problem, but it's not a new one exclusive to SPAs. This fuckery has existed for a long time.
Edit: I don't like the state of the modern web either, but as you also noted, the problem with it is by and large Google's monopolistic dominance over web browsers and their incentive to not take privacy seriously. The only non-Blink browser engine with any notable market share is WebKit2, and that's only because Apple is abusing their own position.
traxex@lemmy.dbzer0.com · 10 pts · 161d
You are correct. I’m against web tracking but this isn’t the crazy feature the other poster is going on about.
TDCN@feddit.dk · 10 pts · 161d
If only they would obliterate Facebook then! Facebook is notorious for doing this when getting to forum posts from google and I'm trying to go back to google, and it it pisses me off.
RunawayFixer@lemmy.world · 9 pts · 161d
I wish that the back button would send me back to the page + page position that I was on when I (the user) clicked a link or entered a form. I've never had a desire to revisit automatic redirect pages, so imo default behaviour should be to send the user back to the point of the previous user action. To me this seems easy and logical to implement, but I've never seen it, so maybe I'm missing something and it's not that easy.
InFerNo@lemmy.ml · 5 pts · 161d
That sounds like default behaviour, at least in Firefox, if a websites loaded as a static page and doesn't dynamically load its content after page load.
sukhmel@programming.dev · 4 pts · 161d
Since they mentioned redirect, I think they take an issue with the scenario of ‘click → more pages load and redirect you after each load → back’ that will repeatedly land you on just the last redirect page and then promptly redirect you forward to the newest page you tried to go back from
RunawayFixer@lemmy.world · 2 pts · 161d
If it's default behaviour for static pages, but not for dynamic pages, then it's not much of a default. As a user I want ui actions to be consistent, the unknown stuff that happens in the background shouldn't change the behaviour of the ui. Firefox now mostly gets around this issue by opening search engine links in new tabs (I can't recall if that's standard for Firefox or if I had to change settings, but I've been using it for years like that), but this wouldn't have been needed if using the back button was reliable.
I found this 2022-2024 discussion with a few examples of the back button not working as expected: https://connect.mozilla.org/t5/discussions/firefox-needs-to-do-something-about-back-button-history-loading/td-p/4678
I found no announcements of a fix. I also haven't had much occasion of noticing a fix, since new pages open in a separate tab for me.
Lojcs@piefed.social · 7 pts · 161d
So is google banning single page applications or just the malicious behavior described? Hate when their announcements are so cryptic
nutbutter@discuss.tchncs.de · 6 pts · 162d
Tldr?
slazer2au@lemmy.world · 30 pts · 162d
Pressing the back button must take you back to the previous page you were on or else google will lower your page rating.
doc@fedia.io · 12 pts · 162d
It's a rather short article...
(N)TL;DR: back should mean back. Sites that continue to make back do something else will get lower rankings in search results, which means reduced traffic and revenue.
Blackout@fedia.io · 5 pts · 162d
Except Facebook right?
73QjabParc34Vebq@piefed.blahaj.zone · 3 pts · 162d
Google has users still? Less tech savvy people have been hijacked by Bing, more techavvy people have bailed years ago. Right?
schnurrito@discuss.tchncs.de · 9 pts · 162d
The least tech-savvy people don't use Windows, but Android or iOS, where Bing isn't the default search engine. (Slightly more tech-savvy ones may also use Chrome on Windows.)
As a tech-savvy person I still use Google a lot because DDG just doesn't give equally good results much of the time. There are many web pages that are indexed by Google, but not DDG.
scintilla@crust.piefed.social · 4 pts · 162d
I highly recommend kagi if you can justify the cost. It is genuinely how Google used to be in terms of search quality.
schnurrito@discuss.tchncs.de · 1 pts · 162d
Thanks for the tip, currently I usually get what I want from DDG and Google (almost never use any others), but if I ever become dissatisfied I might try it.
morto@piefed.social · 2 pts · 161d
Google has 89% of the web search marketshare according to statcounter
possiblylinux127@lemmy.zip · 1 pts · 161d
Why am I suddenly seeing hexbear here
schnurrito@discuss.tchncs.de · 1 pts · 161d
Wdym "suddenly"? Checking my user profile on hexbear it appears that my posts to lemmy.zip communities have been federating there for a long time. Your instance doesn't seem to defederate them, don't know if it ever did; mine certainly doesn't and I don't remember a time when it ever did.