2010-12-23 2 views
0

hallo hier ist das Problem: meine url ist wie dieser http://somesite.com?theSearch=someword&a=b&c=dÄndern Sie einige Teile von location.href mit js ohne Umleitung des Browsers?

auf dieser Seite Suchergebnisse angezeigt werden und auf dieser Seite habe ich die Funktionalität von Ajax-Suche gesetzt, dh die Ergebnisse ohne die Seite neu geladen aktualisiert werden, aber das Problem Wenn der Benutzer auf einen Link auf der Seite klickt und dann auf die Zurück-Schaltfläche drückt, wird auf der Seitenseite mit den Suchergebnissen von "Irgendwo" nicht das neue Wort eingegeben (ich meine das Wort, für das die Ajax-Ergebnisse aktualisiert wurden) Klient beschwert es und ich muss es reparieren jeder hat eine Lösung?

Ich bin mit jQuery

+0

das würde den Trick http://www.w3.org/TR/html5/history.html, aber es ist nicht auf vielen Browsern im Moment verfügbar (Chrom kommt in den Sinn) – Hannes

+0

Ich habe nicht verstanden – Shaheer

Antwort

0

Sie können Sammy versuchen. Es verwendet den URL-Hash (#), so dass Sie einzelne Seiten-Anwendungen erstellen können, die wie Facebook auf die Zurück-Schaltfläche in Ihrem Browser reagieren. Und es läuft auf jQuery.

+0

thankx buddy aber es funktioniert mit dem "hash" teil der url und ich muss einen teil b/w url ich kann nicht re-faktor den code becus ich bin in der nähe der frist :(danke für ihre hilfe trotzdem – Shaheer

+0

@user: Sie können nicht tun, was Sie wollen, ohne den Hash zu ändern (oder den Hauptteil der URL zu ändern). –

1

Sie können die location.href nicht ohne eine neue Ladung ändern. Was Sie tun können, ist den Hash einzustellen.

Jedes Mal, wenn Sie eine Suche mit dem Hash ändern

function doSearch(searchword) { 
    location.hash = searchword; 
    //your search code 
} 

Nun ist die Hash auf die neueste Suche beziehen. Fügen Sie dann diesen Code hinzu, um den get-Parameter ?theSearch= zu überschreiben.

$(document).ready(function() { 
    if(location.hash.length>0) { 
     doSearch(location.hash); 
    } 
}); 

Es ist keine nette Lösung, da Sie 2 Suchergebnisse laden werden, aber es wird funktionieren.

Verwandte Themen