Verschieben browser die Anker-Position, ohne dass die Seite zu aktualisieren
Ich habe eine web-Seite, die lädt einige Daten über einen jquery-post alle 30 Sekunden, wird der jquery-post abrufen wird der Anker in einer tab-form, so dass, wenn die jquery funktioniert das aktualisieren der Anker ist für immer legte, um den ersten Anker.
Sagen wir, ich habe #anchor1, #anchor2 und #anchor3. Wenn der Benutzer Anzeige #anchor2 und jquery geladen ist, wird die Voreinstellung #anchor1. Vor der jquery ist getan, ich überprüfen, um zu sehen, welcher Anker ist der Betrachter mit und dann nach jquery beendet hat, habe ich dann wählen Sie den Anker, dass Sie auf der Suche waren, indem mithilfe des folgenden Codes
document.location.href= "#anchor2";
Wenn ich den obigen code es offensichtlich bewirkt, dass die Seite aktualisieren, damit es dann das erste Dokument.ready-Funktion zum abrufen der Daten, also der timer wird nie verwendet, nur statt dauerhaft hält Neuladen der jquery, tut es jede Sekunde oder so, anstatt die javascript-timer.
Wie kann ich die direkte der Benutzer auf die Anker, die der Benutzer bei der Suche war vor dem ajax-reload, ohne dass die Seite zu aktualisieren.
Vielen Dank für jede Hilfe können Sie zur Verfügung stellen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die
Dokument.Lage.hash
Eigenschaft:anchor2
Es scheint zu funktionieren, das erste mal die Funktion aufgerufen wird, aber wenn jquery lädt die Daten nicht, setzen Sie den Anker wieder es geht nur um den Standardwert, wenn der Anker wurde nie gesetztPOST/GET
auf den server dann JavaScript, die Sie verwenden, um diehash
nicht zu funktionieren scheint, weil die Antwort vom server wird neu-Rendern der Seite. wenn es eine partielle AnfrageAJAX
, dann sollte diese funktionieren, wie beworben ...document.location.hash = ""
bevor ich es mit dem tatsächlichen Wert, aber es scheint zu funktionieren OK.