Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Chromium-devs ontwikkelen maatregelen om onklaar maken terugknop te bestrijden

Google gaat maatregelen implementeren om te voorkomen dat websites de functionaliteit van de terugknop uitschakelen. Dat doen de sites door middel van history manipulation en redirects. Ook gaat Google data verzamelen over wanneer en waar dit gebeurt.

In een post bij het Chromium-project is te zien dat eraan gewerkt wordt. De fix komt naar alle platformen waar Chrome te vinden is: Windows, macOS, Linux, Chrome OS en Android. Er is op dit moment nog geen indicatie van wanneer deze wijzigingen daadwerkelijk verschijnen in Chrome. De metrics worden aangehaald in een aparte post. Wat er met die metrics gedaan zal worden, wordt niet vermeld.

Redirects werken door een gebruiker eerst naar een webpagina te laten navigeren die ze daarna doorstuurt naar de werkelijke beoogde webpagina. Wanneer een gebruiker deze pagina wil verlaten via de terugknop, komt hij bij de redirect-pagina, die hem weer terugstuurt naar de pagina die hij wilde verlaten. Het probleem is te overwinnen door de terugknop zoveel en snel in te drukken dat de redirect-pagina niet de kans krijgt om te laden en zijn werk te doen. History manipulation maakt gebruik van de html5-functie history.pushState, waarbij de browsegeschiedenis in de sessie simpelweg aangepast wordt zodat de vorige pagina gelijk wordt aan de huidige pagina.

Door Mark Hendrikman

Nieuwsposter

12-05-2019 • 11:09

182 Linkedin Google+

Reacties (182)

Wijzig sortering
Een andere methode die vaak werkt is de terugknop ingedrukt houden en een seconde wachten tot je geschiedenis verschijnt. Daar kun je dan rechtstreeks de gewenste pagina aanklikken.
Of gewoon rechter muisknop?

Op mobiel is er natuurlijk geen rechter muisknop :|

[Reactie gewijzigd door flnhst op 12 mei 2019 12:33]

Ik wist oprecht niet dat deze functie op mobiel ook kon. Heb nog nooit geprobeerd de terugknop lang in te houden.
Op iOS kan je bijvoorbeeld de refresh knop ingedrukt houden om de website te laden als desktop site. Soms heb je sites die mobiel tegenhouden als 'oh je zit op mobiel; doen we niet aan'. Dat is ook zo'n vervelende blokkade, en dus tegen te werken.
Er is ook een undo-optie om je meest recent gesloten tabblad(den) te heropenen onder de plus knop.

[Reactie gewijzigd door johnkeates op 12 mei 2019 19:23]

Top! Komt er dan ook iemand sateh maken, of rendang? :+
Nee, die optie is alleen beschikbaar in de Warung build van Chrome...
Hmm, vrij pienter. Zou ik zelf niet gebruiken denk ik. Bij de eerste beste foutmelding ben je de pisang. :+
Volgens mij Borobudur je nu gewoon door....
Als je de tab icoon (twee vierkantjes) ingedrukt houdt, kan je alle tabs in 1x sluiten. Dat is bij mij de meest gebruikte optie.
Ik ook niet, vervelend dat dit nergens wordt duidelijk gemaakt of naar gehint.
Ik vermoed dat 99% van de gebruikers dit hoogstwaarschijnlijk niet weet.
Held! Deze tip werkt ook goed op de iPad, gaat een hoop ergernis besparen
offtopic :)

dan weet je deze vast ook niet als je het + van nieuwe tab ingedrukt houd kan je gesloten tabbladen weer openen.
Deze volg ik niet helemaal?

Afijn op een gesloten tab weer te openen moet je control shift T tegelijk indruken.
Ook leuk om te weten: ctrl+shift+n opent het meest gesloten venster, ctrl+tab scrolt door de tabbladen en ctrl+shift+tab scrolt de andere kant op.
- [CTRL] + [1]/[2]/.. opent je eerste/tweede/.. draaiende tab.
- middenste muisknop of CTRL + linkermuisknop opent je link in een nieuwe tab (achtergrond)
- met shift erbij opent hij het in de voorgrond
- alt links/rechts = vorige/volgende
- ctrl+n = nieuw venster
- ctrl+pageup/pagedown == ctrl+shifttab/tab
- alt+shift+linkermuisknop = openen in nieuw venster
- alt+linkermuisknop = html van link downloaden
...
control + n gebruik ik eigenlijk niet meer
Control +T ( nieuwe tab openen ) gebruik ik met enige regelmaat
control +W sluit de huidge tab

De middelste muisknop op hetgeen in een nieuwe tab te openen is ook door mij veel gebruikt.
@renslmf23 alt + tab is ook handig om te weten :)
Middelmuis op een tab om hem te sluiten is ook een makkelijke. Ja er staat een sluit knopje maar je moet zo precies niet zijn natuurlijk :)
Ook leuk om te weten: ctrl+shift+n opent het meest gesloten venster,
Ik ben wel zeer benieuwd welk venster dat is...
Is dat voor alle gebruikers gelijk en wordt de teller om middernacht weer gereset of is dit persoonlijk? :+
Daarmee open je een nieuw chrome venster in incognito modus. In die browser sessie worden zaken als cookies en browser geschiedenis niet bewaard door de browser.

Waarom dit het meest gesloten venster zou moeten zijn wil ik ook wel weten.
Oh, mijn shortcut is voor firefox natuurlijk :) op chrome doet het inderdaad iets heel anders...
Ik vermoed dat gert_jan het hier over een mobiele browser heeft. ;)
De comment van @hawke84 heeft min of meer dezelfde strekking, is eerder gepost en krijgt – ten onrechte – een lagere score dan jij.
Ach... we zijn allemaal Tweakers 🙂. En hij formuleerde het wat beleefder.
Van de week deze irritante eigenschap van sommige sites weer eens mogen meemaken. Game en hardware recensies willen lezen en terug linken naar dezelfde pagina of spam. Zo'n pagina bezoek ik dan ook meteen nooit weer. Ik snap dat mensen geld willen verdienen aan hun werk en dat "gratis" m.b.t. websites betrekkelijk is. Maar dit soort activiteiten zijn behoorlijk ergerniswekkend.
Ook dat wordt omzeild door pagiana's door meer dan 15 keer te redirecten: het menu toont namelijk niet je hele gescheidenis, maar enkel de eerste 15 entries (in firefox, in chrome weet ik neit heoveel keer, maar het is ook beperkt).

Een oplossing lijkt misschien om die lijst langer te maken, maar gebruiksvriendelijk is het niet.

Een echte fix is om die pagian's die meteen redirecten er vantussen te halen, daar kan je toch niet echt naar kijken.
Sommige website laten je daarom 20 keer redirecten zodat je in die historie ook niets dan redirects terug kunt vinden.
Mouse button 4 werkt vaak ook als terugknop in Web browsers
Press-and-hold op de back-knop laat ook de laatste paar bezochte sites in Chrome zien; is wat stabielere workaround dan "op de back knop rammen als een idioot".
werkt ook in Firefox op die manier
Maar weer niet in Edge. Waarom mensen Edge als volwaardige browser zien, snap ik echt niet. 90% van de functies die je in IE kon gebruiken (waaronder dus deze back-functionaliteit) zijn simpelweg niet aanwezig.
Er zijn volgens mij ook niet zo gek veel mensen die Edge gebruiken.
Werkt prima op Edge op mijn mobiel hoor. Krijg gewoon de geschiedenis te zien als ik de "terug" ingedrukt houd.
Nooit geweten...

Thanks!
Ik doe dus altijd dat laatste :+
Of gebruik de rechtermuisknop.
👍 Wauw, goeie tip. Wist ik niet.
Werkt ook niet altijd. Doen ze zo veel redirects dat je hele geschiedenis vol staat met de website waar je niet op wilt zijn.
Eindelijk weer iets nuttigs wat zij doen.
Het is zeer vervelende zulke praktijken en vaak ook echt irritant.
Volgens mij werkt het nog beter als de browser weet dat dit gaat komen. En een extra waarschuwing toont "De site die u gaat benaderen is moeilijk te verlaten, wilt u dat wel". Moet je eens kijken hoe snel die sitebouwers ermee kappen...
Grappig had het laatste over dit soort sites. Zou liever zien dat ze dit soort sites gewoon standaard blokkeren en dat je er daadwerkelijk veel moeite voor moet doen dit te omzeilen. Ik bedoel popups en ads worden door de meeste browsers lichtelijk geblokkeerd, dan kan dit ook wel.

Moet je dan maar eens opletten hoe snel die sitebouwers ermee kappen. Je moet de ratten bij de bron aanpakken, in dit geval is de bron hun inkomstenbron (de smerige en misselijkmakende redirects/popups die geforceerd worden). Geen inkomsten? Geen reden om zo’n site up te houden. Sites die hier gebruik van maken zijn toch vaak niet de moeite waard om uberhaupt te mogen bestaan.
Toch zijn er vaak technologische goeie redenen voor dat deze features überhaupt bestaan. Die "weet u zeker dat u de site wilt verlaten" waarschuwingen zijn ideaal op het moment dat de gebruiker nog onopgeslagen wijzigingen open heeft staan. Of als bewerkingen onderbroken zouden worden bij het sluiten van de site.
Zelfde met history manipulatie. Als je als gebruiker op een link klikt in een webapp en dan voor single sign-on 3 redirects krijgt, is het als webapp natuurlijk ideaal om de back knop te laten verwijzen naar de vorige echte pagina ipv de gebruiker in een redirect loop terecht te laten komen.
Zelfde vroeger met pop-ups natuurlijk. Waar iedereen nu modals gebruikt waren daar vroeger pop-ups heel normaal.

Waar er nieuwe features zijn word er ook misbruik van gemaakt. Probleem zit hem alleen in het detecteren, wanneer is iets misbruik en wanneer niet? Dat is automatisch veelal lastig te doen...
Maar daarom zei ik ook dat ze beter die sites in z’n geheel kunnen blokkeren. Pop ups worden ook geblokkeerd en sites met malware worden mensen ook voor gewaarschuwd. Waarom dit niet dan?
Omdat er hele valide redenen zijn om wel redirects te gebruiken.
Bijvoorbeeld wanneer je een pagina verplaatst naar een andere locatie. Gebruikers moeten dan de nieuwe URL gaan gebruiken. Maar zoekmachines hebben die dan nog niet altijd geindexeerd of net zo hoog geranked als de vorige pagina. In dat geval gebruik je dus een HTTP 301 om hen naar de goede plek te wijzen.
Klopt er zijn hele valide redenen, maar ik heb het ook helemaal nergens over sites waar dat niet valide zou zijn. Wel lezen he.
Punt wat de mensen die daarop reageren proberen te maken is dat het nog niet zo makkelijk is een valide van een niet-valide reden te onderscheiden.

Eens dat blokkeren super zou zijn, maar dan wel alleen van de sites die het verdienen geblokkeerd te worden en dat is juist zo lastig.
Maar ads blocken lukt toch ook? En ook daar wordt het selectief gedaan (de ene wel de andere niet) tenzij je zelf een adblocker installeert. Maar de standaard ingebakken adblockers kunnen wel onderscheid maken. Dus je zou zeggen dat dit dan ook mogelijk moet zijn.

Sowieso een site die je 10x achter elkaar binnen 1 sec redirect (zodat je 20x snel op vorige moet drukken anders opent ie er nog meer) daarvan weet je al dat t foute boel is.
Vergeet alleen niet dat dat soort adblockers leven op vrijwilligers die enorme lijsten bij houden met foute sites. Een optie zou zijn om een eigen blocklist op te zetten voor je eigen adblockers die de sites met foute redirects blacklisten? Lijkt me een perfect initiatief, ik subscribe graag!
Of je past de werking van je website aan en slaat tussendoor op (zoals google docs) ipv. de verouderde manier van opslaan. En die single-signon kan natuurlijk ook anders geimplementeerd worden dan botte redirects. Die "weet je zeker dat je de pagina wilt verlaten" melding duid in mijn opinie dan ook eerder op een slechte site met een achterhaald ontwerp die niet past bij een browser-wereld (zeg maar een lapmiddel). Het verschil tussen legitiem gebruik en goed gebruik is inderdaad een dunne lijn en niet automatisch te detecteren. Die mening delen we dan wel.
Er zijn echt wel legitieme redenen waar je niet zomaar rond kan. Eerst en vooral moet de "ben je zeker" alleen worden gebruikt als je daadwerkelijk iets van input hebt gedaan dat nog niet opgeslagen is. In dat geval is de waarschuwing dan ook terecht, want je kan iets verliezen.

Ten tweede wil ik een aantal voorbeelden geven:
  • tijdens een checkout glow wanneer de gebruiker halverwege de check-out zit. Even bevestigen dat hij daadwerkelijk weg wilt kan veel frustratie vermijden. De staat van een checkout opslaan is niet triviaal wanneer je integreert met betaalmethoden
  • tijdens een grote upload/download: stel dat je naar YouTube aan het uploaden bent en je zit op 90%. Lijkt me wel een waarschuwing waard. Sure, resumable downloads zijn een ding, maar het blijft natuurlijk handiger als de download niet onderbroken wordt. Zonder waarschuwing kan je vergeten dat het nog niet klaar was
  • Tijdens het opslaan, of wanneer je internet verbinding even weg is. Constant opslaan is leuk, maar dat is geen atomische operatie. Het kan even duren voor je aanpassing echt is opgeslagen. Het kan ook zijn dat je even geen verbinding hebt, dan kan je natuurlijk niet opslaan. Sure, opnieuw, je kan lokaal opslaan tijdelijk, maar een waarschuwing dat het niet in de cloud staat is toch weer handig.
Enzovoort. Het gebeurt toch een paar keer per maand dat ik een venster met veel tabs probeer dicht te doen, en dat er terecht een website even voor bevestiging vraagt. Je kan echt niet alles over één kan scheren.
Het is een bepaald interactie patroon dat je voorstaat. De expliciete opslaan knop wordt steeds minder toegepast (bijv. het Windows 10 instellingen scherm heeft het al niet meer op grote delen). Dus het patroon van een een opslag knop wordt minder gebruikt. Op het moment dat je er dan toch nog 1 hebt en gebruikers deze niet meer verwachten dan moet je dus idd. iets met een pop-up doen. Mijn punt is dat dat patroon steeds meer achterhaald wordt. Tuurlijk is het lastiger om een oplossing voor tussentijds opslaan te vinden (browser local-storage bijv. om outages tegen te gaan) maar het past wel meer bij deze tijd. Ik wil op mijn telefoon een webscherm starten en die thuis afmaken. Een knop "sla op en ga later verder" ga ik niet zoeken: als ik aan het shoppen ben en ingelogd ben dan verwacht ik de inhoud van mijn boodschappenmandje ook thuis op mijn desktop terug te vinden.
Die "weet u zeker dat u de site wilt verlaten" waarschuwingen zijn ideaal op het moment dat de gebruiker nog onopgeslagen wijzigingen open heeft staan.
Of je slaat de staat op in een cookie of op de server.
Het is echt waanzinnig dom om webpagina's macht te geven over het sluiten van de browserapplicatie.
Hoe is een site de macht geven om een bevestiging te vragen voor het sluiten dom? Want dat is letterlijk het enige wat ze kunnen doen, een stay/leave vraag stellen met een korte aanpasbare tekst.
Het breekt het concept van het [X] knopje rechtsboven in de window en kan daarvoor misbruikt worden.
Ik navigeer vrijwel altijd met openen in nieuw tabblad en heb dan ook zelden last van dit soort ongein.
Ik vraag me af wat het probleem is bij het volledig onderscheid maken tussen een fysieke muisactiviteit van de gebruiker en een softwarematige actie die door web-content zelf wordt getriggerd. Software-technisch gezien de enige flag die je nodig hebt om dit misbruik helemaal onmogelijk te maken.

Een browser "vergeet" niet waar de gebruiker hem heen stuurde en kan hoogstens doen alsof. Belangenverstrengeling in de reclamemarkt?

[Reactie gewijzigd door blorf op 12 mei 2019 12:21]

Doen ze normaal niks nuttigs?
Ze doen genoeg nuttigs. Alleen verzamelen ze wel heel veel data die in mijn ogen nutteloos zijn.
Dit is tenminste iets nuttigs waarvoor ze data verzamelen en waar wij ook echt wat aan kunnen hebben.
Zoals de dark mode/theme in Chrome voor Android? Oh wacht...

Ik denk dat er bedoeld wordt dat sommige echt goeie features waar de community al heel lang om vraagt die echt makkelijk te implementeren is (gezien hoe de concurrentie dat doet), een kleine frustratie is en dat dit eindelijk iets is waar we wat aan hebben maar ook weer veels te lang heeft geduurd voor ze er blijkbaar serieus naar gaan kijken.....
Maar Chrome/Chromium is toch open-source? Ik vraag mij af waarom niemand het initiatief neemt om zelf een features te klussen.
Die roeptoeterij zie je ook veel bij Android. Waarbij steevast geklaagd wordt dat niks open is, maar er na 10 jaar blijkbaar nog steeds geen goede breedgebruikte open source API's en appstores zijn ontstaan, blijkbaar is het klagen aan de zijlijn op een bedrijf vele malen makkelijker dan als persoon zelf bijdragen aan de totstandkoming van wat men wenst.

De functionaliteit uit dit artikel is in elk geval erg wenselijk, heel veel sites hebben dit namelijk geïmplementeerd, om de gebruiker maar vast te houden. Als ik dan rechtermuisknop doe op de terug-knop en specifiek de vorige website kies gaat het gelukkig wèl goed.

[Reactie gewijzigd door MsG op 12 mei 2019 12:25]

Het probleem van roepen dat het open-source is dus je kunt er wat aan doen heeft ook vaak te maken met de complexiteit van de software. Even iets aanpassen in Android of Chrome gaat je niet lukken. Je moet er serieus veel tijd in steken. Dat is die ene feature vaak niet waard.
Het is dus net zo in Firefox. Op de backtoets rechtsklikken en zo ver terug als je zelf wilt.
Maak het niet vaak mee, maar vaak zijn het chinese verkoopsites die niet "terug" willen.
Rechtermuisknop? Ik moet dus gewoon van vinger wisselen voor extra functionaliteit? :+

Ik sleep (bij chrome) gewoon met LMB ingedrukt over de terugpijl naar beneden (je kan ook een halve seconde wachten op de terugknop). Helaas wordt die lijst wel beperkt tot iets van 10 'backs'.
Heb je dus van die leuke redirects die gelijk je hele geschiedenis volproppen met 30 pagina's moet je 3x die lijst af..
Ha! Weer iets geleerd! :) Met links werkt in Firefox ook gewoon.
Google zit aan de knoppen. Er komt geen feature in of uit zonder dat Google het profijtelijk vindt open source of niet. Een rookgordijn dus.

De enige optie is alles forken, maar dan verlies je de toekomst...
Forken en integraten, ik zie het probleem niet zo
Ik denk dat de irritatie bij de ontwikkelaars nu over een drempel is gekomen dat zij ook de wens hebben om er wat tegen te doen.
Donkere modus, maar adresbalk is wit en heeft ronde hoeken ipv rechthoekig. Waardeloos |:(
Dat is Android. Niet op Peppermint. Had ik er bij moeten zetten misschien ;)
Ook gaat Google data verzamelen over wanneer en waar dit gebeurt.
Dus telkens je dit tegenkomt, wordt het adres van de site waarop je aan het surfen bent naar Google doorgestuurd. Tof.
Geheel anoniem natuurlijk...
Qua functionaliteit in Chrome niet echt.
Deze functionaliteit stoort mij ook al vele jaren, dus had al lang geleden mogen worden aangepakt.
Het is nuttig maar ook lastig mbt moderne websites.

Veel moderne websites zijn front-end only, d.m.v. Asynchroon geladen content.

Dat wil zeggen dat er nieuwe content binnen word gehaald zonder dat je ALLES opnieuw hoeft in te laden. Dit maakt websites een flink stuk sneller, maar dan ga je met de vorige knop van de hele website weg i.p.v. naar de vorige pagina.

History manipulation is hier natuurlijk ook voor bedoeld. Dat anderen het weer abusen is dus het verzieken voor de rest...
Misschien kunnen ze beter onderscheid maken en een aparte functie ontwikkelen. Bijv. twee back-knoppen: "previous site" en "previous page". In dat geval wordt het onbelangrijk hoe die content geladen wordt: met "pagina's" of asynchroon.

[Reactie gewijzigd door torp op 12 mei 2019 14:53]

Dat zou veel te verwarrend zijn voor mensen en ook veel kostbare ruimte in beslag nemen...

Tenslotte zit er maar één back button op je android telefoon, om maar een voorbeeld te noemen.

Dan moet er we weer gaan bepalen "wanneer moet de back-button een pagina terug of een site terug?" en dan kom je weer op exact dezelfde oplossing uit.
Bij zulke websites heb je dat hele probleem toch waarschijnlijk al niet?
Welk probleem heb je daar niet? Dat je dan niet meer terug kan omdat ze je history volspammen? Nee.

Maar dan is de functionaliteit om het te kunnen er wel.
Ik zie het niet vaak maar vaak genoeg om deze nieuwe maatregel te bejubelen.
(toen ik nog chrome had, ben een Firefox-smurf nu.. daar is het me nog niet opgevallen, misschien nog niet zo'n site geraakt. Het zijn meestal van die ranzige (de site, niet de fotos) foto sites die ook nog voor elke foto een aparte pagina hebben 'NEXT' zodat je lekker veel reclame ziet.)
Inmiddels heb ik wel de routine om gelijk in de history te kijken als zoiets gebeurd.

Hopelijk sloopt het geen dingen als MEGA die de downloads in de browser doet die bij sluiten van de browser vraagt om bevestiging als er een MEGA download actief is.

"Ook gaat Google data verzamelen over wanneer en waar dit gebeurt."
Dat is dan weer jammer.

[Reactie gewijzigd door MrMonkE op 12 mei 2019 11:20]

Hopelijk sloopt het geen dingen als MEGA die de downloads in de browser doet die bij sluiten van de browser vraagt om bevestiging als er een MEGA download actief is.
Lijkt me niet, er zit al een mechanisme in om dit tegen te gaan. Bij de 2e alert die vraagt of je zeker weer of je de tab af wilt sluiten staat een vinkje 'vraag dit niet opnieuw' o.i.d.
Dat is een ander stukje javascript, die slechts een extra actie van de gebruiker vraagt en niet iets onmogelijk maakt. Geen zorgen dus.
Ook de popup "Wil je de pagina sluiten ?" die sommige sites genereren als je het tabblad sluit zijn bloedirritant.
Die feature gaan ze niet blokkeren aangezien ze die zelf gebruiken in gmail.
Ze gaan die niet blokkeren omdat het niks met de history en "vorige" knop te maken heeft.
Ik snap niet waarom er website zijn die denken dat we als gebruiker dit fijn vinden dat de terug-knop word uitgezet. Ik blacklist dat soort sites meteen.
Natuurlijk denken ze niet dat wij het fijn vinden. Ze houden daar helemaal geen rekening mee, het gaat alleen om wat zij willen.
Dumpert is hier ook koning in. Ofja Dumpert. Volgensmij ligt het aan de videoplayer. Maar toch.
Dan nog iets. Ik was laatst eens aan het bekijken hoe een advertentie link bovenaan de Google zoekreultaten omgaat met dit. Na een first click, 6 redirects en dan bij de laatste op Adsense uitkomen. Is dit iets wat alleen Google mag of haal ik dingen door elkaar?
Want als je namelijk op back tikt in dat geval gaat ie wel meteen terug naar de vorige zonder de redirects die bij het heen gaan wel gedaan zijn.

[Reactie gewijzigd door Core2016 op 12 mei 2019 11:31]

Je hebt ook nog een tijd gehad waarbij malware-achtige websites een pop-up lieten zien, en als je dat wegklikte, refreshte de webpagina naar een ander subdomein en kwam er een nieuwe popup. Dit deden ze om te voorkomen dat je "turn off all dialogues of this websites" aan kon zetten, omdat dat pas bij de tweede poging kon op dat specifieke subdomein. Dit werkt gelukkig al een tijdje niet meer op Chrome toen ze met de "anti-kaping" update kwamen.

[Reactie gewijzigd door NotCYF op 12 mei 2019 11:31]

Bizar dat men daar bij het opstellen van de standaard niet over nagedacht heeft, en dat het nu aan browsers is om allemaal omwegen in te bouwen om misbruik te detecteren.
(idem met popups, autoplay etc...)
Dat dacht ik ook meteen: waarom zit er een optie in de standaard om de historie te manipuleren? In wat voor scenario wil je dit hebben?
Zonder pushState() en popState() kun je er niet voor zorgen dat sites die zijn geimplementeerd als een single page application (SPA) netjes omgaan met de back-button van de browser. Denk bijvoorbeeld aan Gmail, als je op een mailtje klikt, wil je niet dat de hele website refresht, maar dat 'ie alleen dat mailtje laat zien. Als je dan op de back-button klikt moet hij teruggaan naar je inbox, wederom zonder de hele website te refreshen.

[Reactie gewijzigd door RedPixel op 12 mei 2019 12:14]

Als je dan op de back-button klikt moet hij teruggaan naar je inbox, wederom zonder de hele website te refreshen.
Nou, nee dus. Daar is die back button nooit voor bedoelt en vandaar dat het alleen met een vieze truuk kan.
Als je een 'back' functionaliteit wilt binnen je webpagina dan hoor je eigenlijk je eigen back button interface te implementeren die helemaal binnen je webpagina leeft.
Zeker! Tot dusver de oh zo mooie theorie.
De realiteit is echter dat mensen die back button instinctief interpreteren als "breng me terug naar de laatste muisklik die het beeld flink veranderde". Een overblijfsel uit web 1.0 want toen kwam dat vrijwel altijd overeen met een andere pagina. Nu is een muisklik zoals je aangeeft net zo vaak een ander element binnen dezelfde pagina. Men verwacht dan dus bij het klikken terug te gaan naar b.v. de Gmail inbox. En als die verwachting niet klopt heb je een slechte gebruikerservaring.
Niet alleen in overblijfsel. Op Android bestaat hij ook binnen apps en Android zelf. Het is inmiddels gewoon aangeleerd gedrag.
Om een webapp als één pagina in geschiedenis te laten staan i.p.v. als tientallen pagina`s voor alle clicks. Zijn ook andere oplossingen voor, maar meen me te herinneren dat dit een usecase was die expliciet genoemd werd bij deze functionaliteit.
Het probleem met functionaliteiten is dat er meestal wel iemand is die net iets creatiever is dan de bedenkers van de standaard. Dat je ongewenst gebruik hebt wil niet zeggen dat er niet over is nagedacht. Standaarden lenen zich er ook niet altijd voor om te omschrijven hoe het het beste geimplementeerd zou moeten worden. Overeenstemmen wat er wel of niet in opgenomen gaat worden kost al veel tijd en zelfs dat is dan maar een momentopname.

Gelukkig zijn er oplossingen voor om gebruikers meer controle te geven over het wegnemen van irritaties. In het begin nog het kiezen om cookies, javascrip, java of flash etc te configureren, later kwamen de extensies, addons en gingen browsermakers eigen beveiligingservices inbouwen.

De irritatie over het combineren van doorverwijzen en er niet makkelijk weg kunnen bestaat eigenlijk als sinds redirects en de terugknop bestaan. Dat komt al uit de vorige eeus. Dat Chromium devs nu pas zelf maatregelen gaan namen zegt meer over de Chromium devs dan over de standaarden.
Omdat malafide actors altijd manieren zullen vinden om dingen te misbruiken. Dat soort dingen zijn echt niet altijd te voorspellen, je kunt het zo gek niet bedenken.
Welke standaard? HTTP? Javascript History API? Dit is echt volledig buiten de scope van die specificaties. Misbruik van een middel staat sowieso vaak los van het middel zelf. Geld, software, mensen.
Er zijn nogal wat websites die dit hebben. Kan iemand mij uitleggen wat daar de reden van is? Want als ik eenmaal zo'n website tegenkom, ga ik er nooit meer naar toe.
Voor zover ik weet vooral spammende ads, veelal de wat meer malafide soort.

Ik heb dit wel gezien voor ads op domain-squatter sites, maar nooit op een normale.
Het is tegenwoordig redelijk normaal om zogenaamde "single page apps" te hebben waarbij de browser steeds de benodigde informatie los ophaalt en dan de pagina daarop aanpast. Maar om die nieuwe situatie vast te leggen wordt vaak ook de history aangepast (en de urlbalk) om te voorkomen dat als je f5 drukt je ineens weer terug bij af bent of als je op 'back' drukt dat je ineens
naar een "pagina" terug gaat ipv binnen die pagina de laatste actie ongedaan maakt.

Die techniek is overigens al veel ouder en wordt al veel langer gebruikt dan voor die relatief moderne benaming :)

Dat gebeurt o.a. in Google Maps als je schuift of zoomt, in Google Calendar als je navigeert naar de vorige/volgende periode, in Youtube bij zowat alles wat je doet en Google doet het vast nog bij veel meer van hun producten ;)
En zij zijn zeker niet de enigen. Tweakers gebruikt het bijvoorbeeld ook. O.a. bij het filteren in de Pricewatch. Als je dan 'back' gaat, maak je effectief de laatste wijziging aan je filters ongedaan, ipv dat je terug gaat naar de pagina die je voor het filteren bezocht.

[Reactie gewijzigd door ACM op 13 mei 2019 07:31]

Ik doelde eigenlijk vooral op sites die je history spammen met als doel je nooit meer terug te laten gaan naar de pagina waar je vandaan kwam. Dat ze in hele korte tijd heel veel history entries toevoegen, zegmaar.
Van wat ik er van begrijp is dat ook wat Chromium wil aanpakken.

Ik ben bekend met history push/pop en de legitieme gebruiken daarvan, maar in elk geval bedankt voor je uitleg. Ik las denk ik Billie's vraag niet helemaal goed, of zo.

[Reactie gewijzigd door Luminair op 12 mei 2019 16:19]

Ah, je gaf juist voorbeelden van misbruik danwel niet gebruiksvriendelijke doelen :)

[Reactie gewijzigd door ACM op 12 mei 2019 16:20]

Het is een beetje mierenneuken maar de term progressive web apps gebruik je hier niet correct. Je bedoelt waarschijnlijk een SPA, Single Page App.
Komt ook op "normale" sites voor hoor.
Asynchroon geladen content.

Dat wil zeggen dat je nieuwe content/pagina's binnen haalt zonder de complete website te hoeven refreshen (en dus zonder met elke pagina wissel alle afbeeldingen/scripts opnieuw te downloaden).

Dit bespaart mobiele data en is velen malen sneller.
Dat is geen enkele reden waarom de terugknop niet meer zou hoeven werken.
Asynchrone content hoeft niet via redirects en history manipulation je geschiedenis te vervuilen.
Uhm, jawel.

Tegenwoordig worden hele pagina's asynchroon ingeladen. Dat wil zeggen dat je door de website pagina's navigeert zonder daadwerkelijk te refreshen. Dat wil dus zeggen dat je 'vorige' knop niet meer de vorige pagina is maar de laatste pagina voor je naar de site in kwestie ging.

Of het moet kunnen is op voor discussie. Ik leg enkel uit waarom het er is.
Werkelijk elk framework voor single page applications maakt van de History API gebruik om een natuurgetrouwe history op te bouwen. Wanneer je naar een ander interne route navigeert in zo'n applicatie wordt de vorige route naar de history gepusht.
Nogmaals geen reden om de terugknop onbruikbaar te maken.
Ik denk dat je me verkeerd begrepen hebt.

Deze sites hoeven de terugknop inderdaad niet onbruikbaar te maken.
Nogmaals; Ik stelde enkel de reden waarom wij met websites de history kunnen aanpassen. Precies de reden welke jij ook aanhaalt dus.

Ik beantwoorde de vraag van iemand waarom wij überhaupt de history aan kunnen passen.
Websites welke de boel blokkeren zijn 99% van de gevallen toch echt spamsites. Mensen vragen zich hier af waarom ze die 'macht' hebben over onze browsers en ik legde uit waarom deze functionaliteit belangrijk is voor websites.

Volgens mij zijn wij het dus prima met elkaar eens.
Je hebt gelijk, ik zie dat ik eigenlijk op hetzelfde doel als dat jij al eerder had gesteld.

Ik interpreteerde 'er zijn zoveel websites die dit hebben' als spammy sites die de terugknop blokkeren, je doelde op history manipulation in het algemeen.
Kan allerlei redenen hebben: tracking, meerdere domeinen samenvoegen, mensen op je site proberen te houden etc.
Het is een stomme work-around, maar dit is waarom ik zoekresultaten bijvoorbeeld open in een nieuwe tab. Door de middelste muis knop te gebruiken kan je dit snel doen (maar gezien ik op Tweakers zit - denk ik dat jullie dat al weten :) ).

Ook heb ik websites gezien die een nieuwe tab openen en dan de oude sluiten. Dat is gruwelijk irritant want nu ben ik dus ook mijn back history kwijt. Helaas kan je zo'n tab ook niet makkelijk terug krijgen, want bij een undo activeerd de code weer en wordt de tab gelijk gesloten. Deze websites komen bij mij dus al snel op de zwarte lijst.
CTRL + Click werkt ook, overigens.
Hey, dat wist ik niet eens. Handig, bedankt!
Een ander vergelijkbaar probleem is de popup-popunder of hoe het tegenwoordig ook heet met tabs:

Men klikt een link (of ergens anders op de pagina, tyfus sites), er wordt een nieuwe tab geopend met de beoogde pagina dewelke meteen focus krijgt, en de oude tab wordt een advertentiepagina met redirects en weet ik het.
Ik heb tabs compleet uitgeschakeld in firefox en alles opend in nieuw venster.
Dit vind ik een betere workflow geven als tabs en lost dit probleem ook meteen op.
Het lost het probleem niet op maar verschuift het. Dergelijke sites gebruiken interne mechanismen van de browser om de tabs te openen. Als de browser ingesteld is op nieuwe windows ipv tabs, worden dergelijke pagina's gewoon in nieuwe windows geopend. Dit maakt het verschil niet.
Er is een html5 functie om een website aan geschiedsvervalsing te kunnen laten doen? Welke #&@+!)# heeft dàt bedacht?
Wat dacht je van het verwijderen van die functie als oplossing?

[Reactie gewijzigd door ajolla op 12 mei 2019 15:26]

Het nut van de functie is natuurlijk niet bedoeld om mensen op een redirect te houden. Het wordt volgens mij in bijvoorbeeld Gmail gebruikt. Als ik me niet vergis is het zo dat als je een nieuwe mail gaat typen en je klikt op de terug knop, dan kom je niet terecht in een blank tabblad, maar sluit eerst het venstertje van je nieuwe mail en kom je weer op je inbox. (Correct me if I'm wrong)
Het nut van de functie is natuurlijk niet bedoeld om mensen op een redirect te houden.
LOL., En jij verwacht dat iedereen zich daar ook netjes aan houdt... ???
Hallo, dit is het internet, de infrastructuur waarbij er vanaf het begin al wordt duidelijk gemaakt dat je in princiepe niks moet vertrouwen. Het is een hostile environment.
Dus als een browser een mogelijkheid biedt die misbruikt kan worden dan weet je vrij zeker dat die mogelijkheid ook misbruikt gaat worden.
Sorry hoor. Ik heb een product, een browser, met een aantal knoppen en ik wil dat níemand daar mee kan rotzooien.
Maak dan een knop 'terug naar inbox' en een waarschuwing om niet de terugknop daarvoor te gebruiken.

[Reactie gewijzigd door ajolla op 13 mei 2019 15:39]

Die functie is verschrikkelijk noodzakelijk. Webapplicaties werken echt niet goed zonder die functie.
terugvallen op iframes dan maar.
In webapplicaties is het nogal een nodige functie. Je wilt niet dat je met de historyknoppen uit je webapplicatie gaat in plaats van de vorige pagina binnen die applicatie. Je bouwt immers geen history op als je geen nieuwe pagina's opent. Hiervoor is die manipulatie nodig, zodat er wel een history opgebouwd wordt en de historyknoppen gewoon werken zoals je zou verwachten, namelijk dat je naar de vorige pagina gaat.
Dat klinkt naar een falende history knop die gerepareerd moet worden, niet naar een reden om zomaar iedere website een willekeurige state op te kunnen laten dringen.
Nee hoor, de terugknop bladert gewoon terug in de pagina's die je hebt bezocht. Als je dan een webapplicatie hebt die geen nieuwe pagina's opent als je er in navigeert (iets wat je wilt om de applicatie soepel te laten werken), en je gaat terug naar de vorige pagina, sluit je de applicatie dus.

Om ervoor te zorgen dat de terugknop naar een vorige pagina gaat binnen de applicatie, kun je dus die historie aanpassen. Het enige falende hieraan zijn de websites die hier misbruik van maken.

Het is gewoon een stukje gemak waar nu nog misbruik van gemaakt kan worden. Naar mijn idee hadden ze dit wel van tevoren kunnen bedenken, maar het zal wel moeilijker zijn dan het lijkt om het misbruik te stoppen zonder de functie te verwijderen.

Hier een voorbeeld van zo'n site die er misbruik van maakt (of het gewoon verkeerd heeft geïmplementeerd):
https://www.google.nl/sea...gws-wiz.....0.1LrqbHiu_0A

klik daar op de site internetvergelijken.nl

[Reactie gewijzigd door mjz2cool op 14 mei 2019 15:19]

Dan laat je toch alleen maar toe om binnen dezelfde pagina terug te bladeren als waarin de functie wordt aangeroepen?
Volgens mij is het probleem daarmee opgelost met behoud van de functionaliteit die jij erin wilt hebben.
Of kom je nu met nog meer functionaliteit die je erin wilt? 8-)
Maar als je geen geschiedenis hebt, heb je niks om in terug te bladeren.
Waar heb je 't nu over?
Het ging erom binnen één webpagina-applicatie te kunnen terugbladeren. Dan laat je toch alleen dat toe. En heb je binnen die applicatie nog geen history, dus nog niet 'vooruit' gebladerd, dan ga je toch gewoon terug naar de vorige bezochte pagina.
En is die er ook niet dan gebeurt er gewoon niets.
Ik snap je probleem niet.
Het probleem is dat je wel kunt navigeren, en misschien ook wel terug wilt kunnen gaan naar vorige bezochte pagina's binnen de applicatie. Zonder de history manipulatie heb je dus niet 'vooruit' gebladerd, en ga je dus terug naar de vorige pagina, uit de applicatie.
Volgens mij zitten we langs elkaar heen te praten doordat je niet hebt begrepen dat ik een 'beperkte historiemanipulatie' accepteer, maar alleen binnen dezelfde webapplicatie.
Zo, lees nu m'n vorige posts nog even terug, dan zie je dat ik dat ook daar bedoelde.
Mooi zo!

Ben vaak snel klaar met een Website waar dit gebeurd.
Ik ook, maar komt helaas wel erg vaak voor. Werk met FF Dev, hoop dat die dat ook gaan aanpakken dan.
Vanaf het moment dat ik deze API voor het eerst aangekondigd zag wist ik al dat het een probleem was: je hoort websites niet zo maar te laten rotzooien met de werking van essentiële UI elementen. Ik snap het daadwerkelijke doel om dynamische AJAX websites toch URLs en geschiedenis te kunnen laten opbouwen... maar de meest websites doen dat toch half-fout.

Helaas is dit toch een herhalende standaard voor het internet: functie implementeren waar je op voorhand van kunt zien dat deze misbruikt gaat worden, en dan bijna een decennium wachten tot er eindelijk wat aan gedaan wordt. (I)Frames, popup vensters, auto-playing muziek, de modernere auto-playing videos, en nu dus weer die geschiedenis rotzooi.

Wat een ramp zeg.
"Wat een ramp zeg."

Wat is nu de ramp?
Dat er iets aan gedaan wordt?

Ik ben er blij mee!

[Reactie gewijzigd door WimmieV op 12 mei 2019 12:58]

Dat ze altijd functionaliteiten toevoegen zonder te denken dat 'goh, dit kan heel erg makkelijk misbruikt worden', en dat het dan zo veel jaren kost voordat er eindelijk iets aan gedaan wordt.

Ik ben blij dat er een bladeraarbouwer iets aan doet, maar niet blij dat het zo lang heeft geduurd.
Duidelijk.
Zijn we allebei blij.
Dank je.


Om te kunnen reageren moet je ingelogd zijn


OnePlus 7 Pro (8GB intern) Microsoft Xbox One S All-Digital Edition LG OLED C9 Google Pixel 3a XL FIFA 19 Samsung Galaxy S10 Sony PlayStation 5 Smartphones

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True