Ask HN: Why do websites insist on breaking the back button
It seems every time I click on a link these days I can't just press back to go the previous page, holding down the back button review my supposed history it shows me the same site a number of times. Is polling breaking the back button?
5 comments
If you're using AdBlock Plus in Chrome / Chromium, there was a bug[1] that caused this behavior whenever it blocked an iframe-based ad. It's been fixed in Chromium but the fix has yet to work its way into Chrome stable.
1. https://code.google.com/p/chromium/issues/detail?id=178380
1. https://code.google.com/p/chromium/issues/detail?id=178380
This behavior has lead me to change my way of browsing. Whenever I am on a page which I could want to come back to, I just open links in a new tab. I rarely use the back button nowadays because it causes weird problems in most JS heavy websites.
The obvious failure point here are websites which use false links and don't properly open links in new tabs. That just makes me rage.
Changing the hash, and therefore the URL, adds a new entry to your history. Lots of sites, even popular ones (looking at you, Skydrive) does abuse this and ruins the browsing experience. I have to remember which sites are implemented this way and keep those on separate tabs.
Ah it's the fragments that are causing this. Thanks for the info. Would be nice if the back button wasn't default based to fragments but actual URLs (fragments don't get sent to the server, right?).
Fragments indeed don't get sent to the server, and are usually used to track your location inside the document (be it jumping to section headers, or using js-generated dialog boxes, etc.). In an ideal world, this fragment is not changed unless the user explicitly changes the state. Unfortunately, apps often use it to store their own state.
It's possible to avoiding creating history entries by using
location.replace()
location.replace()
On an other topic, Why do websites insist on breaking links ? Too many have 'false link' : if you click on it, it opens ; but if you want to open it in a new tab, guess what ? It does nothing, or opens in the same window.
Another browsing experience ruined.
Think about that when you cross this problem.
Another browsing experience ruined.
Think about that when you cross this problem.
There's no reason they should -- its either poor application planning or lazy development. Javascript-heavy web apps that use hash fragments or pushState can (and should) use fallbacks to allow navigation without javascript enabled (especially important for search engines). At this stage of web app development, many just don't, but expect this to change as the JS framework world matures (hopefully)!