Wie kann ich die Seiten-URL ändern, ohne die Seite zu aktualisieren?
Wie kann ich die URL ändern, ohne die Seite aktualisieren?
Habe ich eine website gebaut, mit CodeIginer und ich möchte Implementierung von AJAX und JQuery in einer meiner Seiten. Das problem ist; wenn ich es lade den Inhalt, die URL ändert sich nicht.
Sagen wir mal so, ich habe die URL http://www.example.com/controller/function/param
Und eine weitere URL : http://www.example.com/controller/function/param2
Wie kann ich die erste URL in das zweite, wenn ich auf eine Schaltfläche klicken?
InformationsquelleAutor der Frage Bobby Stenly | 2011-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
In HTML5 können Sie den URL ändern:
überprüfen http://spoiledmilk.com/blog/html5-changing-the-browser-url-without-refreshing-page/
docs: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history#The_pushState().c2.a0method
UPDATE
Einen überblick darüber, welche browser unterstützen die neue HTML5-history-API:
http://caniuse.com/#search=pushState (caniuse.com lohnt sich ein Lesezeichen!)
gibt es bereits frameworks, die nicht die harte Arbeit für Sie und sogar anmutig fallback auf das gemeinsame hash-tag-Lösung:
History.js
Backbone.js
Mootools (über ein Plugin)
dojo-toolkit
... um nur einige zu nennen.
(!!) BEACHTEN SIE
Einer wichtiger Nebeneffekt bei der Verwendung der
pushState
(Zitat aus dem Backbone-Dokumentation):InformationsquelleAutor der Antwort roberkules
Könnte ein hash (#) und setzen Sie, was Sie gerne danach.
Hier ist eine Seite, die ich gebaut - und dann habe ich die JavaScript-Lesen Sie die hash-und rufen entsprechende Funktionen:
http://bannerhouse.com.au/#/popup=media&id=don
Seite Hinweis:
Dies ist nützlich für flash-websites oder flash-Inhalte, als auch, die Sie verwenden können, FlashVars, um eine Analyse der hash-Wert, um die SWF-Datei und laden Sie einen entsprechenden Abschnitt/Bildschirm basierend auf, dass.
InformationsquelleAutor der Antwort Marty
Verwenden Sie hash-tags per Javascript, also in die Schaltfläche click-Ereignis-handler:
location.hash = "param2"
Das wird sich ändern http://example.com/mypage/#whatever
zu
http://example.com/mypage/#param2
Natürlich könnte man auch die "Ordner" nach dem hash, also mit der Basis-url des http://example.com/ Sie dann hinzufügen:
location.hash = "/MyPage/MySubPage/MyInfo";
die änderungen, die es zu http://example.com/#/MyPage/MySubPage/MyInfo
InformationsquelleAutor der Antwort Thomas Shields
Einen ähnlichen thread abgeleitet, Nein, es sei denn mit einem hash-tag.
Einer Idee, wird aber dringend davon abgeraten, war mit einem 204 HTTP-Antwort.
Vom W3:
InformationsquelleAutor der Antwort Sean Powell