WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Ajax och bokmärken (https://www.wn.se/forum/showthread.php?t=26638)

martine 2008-01-26 17:12

Är det någon som har en bra lösning för att se till att bokmärkning fungerar även när sidan laddas om med Ajax? (Välbekannt problem men jag har inte sett någon bra lösning).

Apache+php5 på servern.

stakes 2008-01-26 18:04

Skulle väl isåfall vara om du låter ajax hämta data via GET så kan du göra något i stil med:

bokmärke.php?data=data

ChSu 2008-01-27 02:31

Den ända ändring du kan göra i adressfältet utan att sidan laddas om är via
"location.hash". Om du updaterar den till sidans senaste konfiguration vid varje ajax
ändring så kan användare boomarka den konfigurationen.

Då krävs det givetvis också att js tar en titt på location.hash när sidan är nyladdad för att
anpassa sig till den konfiguration du har.

Fult, hackigt, webbigt.

martine 2008-01-27 04:20

Citat:

Originally posted by ChSu@Jan 27 2008, 03:31
… att sidan laddas om är via"location.hash". Om du updaterar den till sidans senaste konfiguration vid varje ajax ändring så kan användare boomarka den konfigurationen.
Låter mycket intressant - får du gärna förklara vidare…

Har inte gjort några vidare sökningar på ämnet ännu.

Edit: Du menar alltså att man kan ändra i javascriptets location-objekt?

ChSu 2008-01-29 10:50

Säg att användaren surfar in på http://example.com/foo genom att ändra location.hash = "test" så
kan du få http://example.com/foo#test att stå i adressfältet. Sidan laddas inte om.

Bokmärker användaren sidan så är det http://example.com/foo#test den bokmärker.

Går någon in på http://example.com/foo#baz så är det ditt scripts jobb att kolla på location.hash och
ändra om sidan enligt vad "baz" nu betyder. Kolla till exempel på google-reader. Där sparas vilken
feed man tittar på i location.hash.

Grundtanken var ju att webbläsaren ska positionera fönstret till en anchor/elementid i sidan som har värdet "baz". Detta utnyttjar att sidan inte laddas om, samt att man kan spara värden i location.hash som inte har motsvarande anchor eller elementid.

Frej 2008-01-29 11:07

Det ändra dryga med detta är det förbenade klick-ljud som ligger som default varje gång location.hash ändras.

martine 2008-01-29 11:07

Smart! Det verkar ju lösa problemet.

Tackar också för den utförliga förklaringen.

martine 2008-01-29 14:08

Fungerar fint, men för att slippa mer javascript gör jag en mod_rewrite som hämtar hela filen direkt från bokmärket - dessvärre verkar det inte fungera:

RewriteRule ^#([a-z-]+)$ index.php?p=$1 [PT]

Kan det tänkas att hashen inte skickas med requesten till servern? (hashen ska ju finnas inom sidan så det skulle ju ha sin logik). Eller har jag missat något annat?


Alla tider är GMT +2. Klockan är nu 01:20.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson