Altså problemet med den løsning er jo netop at du nu skaber en helt ny side som i realiteten er BÅDE side 1 og 2. At lave en URL til denne slags ting vil i praksis være en skidt ting (da man så også kunne lave en URL for side 1-100 - hvilket bør være et mareridt for enhver server at generere på én gang).
Så - med denne form for løsning, nej - du bør ikke lave en URL der passer til sidens indhold.
Men til dit egentlige spørgsmål (sådan som jeg læser det): Hvordan pokker ændrer man URL'en gennem javascript og samtidig får frem og tilbage knappen til at virke?
Dette findes der utallige javascript frameworks til - en masse af dem der plugger direkte ind i jQuery. Hvis du søger efter JavaScript og history på Google burde der komme adskillige frem - jeg må her erkende at jeg ikke har alt for meget erfaring med det - men der findes glimrende plugins som kan ordne det for dig, således at det virker i langt de fleste browsere, selv dem der ikke understøtter de nye fancy APIer (hvor der bliver brugt ældre og knap så optimale måder at gøre det på).
Jeg håber det gav lidt afklaring.
Tak Kaare
Det gav lidt afklaring tror jeg
men fik så også lidt flere spørgsmål nu jeg tænkte det igennem igen
Det du foreslog var at lave en side der fungerer uden javascript, og som så kunne få javascript ovenpå for at gøre det lækkert. Den del synes jeg faktisk var ret god og kunne jeg godt lide.
Så planen kan være:
Step 1:Lav en side i MVC der tager controller, action og input med så du kan få leveret sider og indhold til der ikke er mere og den fungerer uden javascript. Så er der links for Google den kan crawle og få alt mit indhold indekseret.
Step 2:Putte JavaScript ovenpå der gør at når man når 90% ned på siden så vil den begynde at loade næste sides indhold ind på siden så man blot kan blive ved med at scrolle. Her skal jeg så bruge dit omtalte javascript bibliotek til at generere checkpoints som browseren kan gå tilbage og frem til. Og jeg skal samtidigt have URL'en til at ændre sig fordi indholdet ændrer sig og den dermed er unik og passer til det indhold der leveret på siden nu.
MEN men men
Nu melder der sig nogle flere spørgsmål
1) Google indekserer min side. Den trykker på videre og får produkter 20-40 (side 2) som hedder
produkter/side/2 (Lavet i MVC).
Dette er uden javascript og serveren har leveret siden tilbage med kun 20 produkter.
Når brugeren så klikker på linket i browseren på Google (
produkter/side/2)
og HAR javascript så er situationen jo en anden.
Jeg vil gerne have at brugeren får loadet alle produkter ind til sin side således at han får 0-20 (side1) og 20-40 (side2) fordi han har javascript aktiveret.
2) Næsten samme situation.
En bruger har været inde og finde min side 2 og synes den passer skidegodt til hans ven og sender ham et link. Her er indloadet produkter 0-20 (side1), og 20-40 (side2).
Men hvordan kan jeg vide forskel på om brugeren kommer ind første gang med
produkter/side/2 og han så skal have 40 resultater loadet ind på siden, eller om han kun skal have de sidste 20 fordi han er på siden og har fået de første 20 loadet allerede?
Umiddelbart kan jeg ikke lade være med at tænke på at det er to forskellige scenarier og brugsmønstre som skal være seperate, men alligevel skal google kunne finde mine data og give en nogenlunde ensartet oplevelse om brugeren kommer til side 2-3-4 direkte fra Google eller om de starter fra side 1 på min side.
Så de ikke kommer ind på side 2 fra Google og får 20 resultater som er produkt 20-40, men hvis de selv går ind på side 1 fra min hovedside (root-domæne) så vil opleve at når de får den samme URL (
produkter/side/2) så er der pludseligt 40 produkter vist på siden.
Beklager hvis det er mig der er dum og ikke helt forstår hvordan man bør lave og løse disse ting på nettet endnu, men skriver fordi jeg gerne vil forstå det.