Ich möchte die Seite, auf der ich mich befinde, ohne einige der vorhandenen Abfragezeichenfolgen neu laden (wodurch sich der Inhalt auf der Seite ändert). Ich habe festgestellt, dass das href-Tag leer bleibt, so dass href=""
funktioniert, aber ich frage mich, ob dies eine sichere Methode ist, d. Funktioniert es in älteren Browsern?
Bearbeiten:
In der Tat Schrott, dass es leer bleibt, funktioniert nicht (einige tolle Tests von mir dort). Also, meine Frage ist jetzt, wie kann ich die gleiche Seite ohne Abfrage-String-Werte neu laden? Und ohne den Dateinamen zu kennen und ohne Javascript zu benutzen. Ich denke, ich suche nach etwas wie /
oder #
.
Ich denke, ich kenne einen Trick. Wenn Sie ein <form>
-Tag mit leerem action
und keinem (oder GET) method
-Parameter verwenden, verwendet es Ihre URL, ersetzt aber die GET-Parameter (Abfragezeichenfolge) durch die Werte in Ihrem Formular, also:
Auf Seite http://example.com/foo.html?query=string
Wenn Sie auf den Button klicken, gelangen Sie zu:
http://example.com/foo.html
(Firefox 8) http://example.com/foo.html
(Internet Explorer 9) http://example.com/foo.html?
(Chrome 15) http://example.com/foo.html?
(Safari 5) Bearbeiten: Das nachstehende Fragezeichen ist wahrscheinlich ein Webkit-Problem.
Es gibt einen interessanten Beitrag über leere URLs . Es bezieht sich auf RFC 3986 , das URLs definiert.
Grundsätzlich sollten Sie von spec Standpunkt aus sicher sein, dass href=""
auf die aktuelle Seite verweist.
Ich gehe davon aus, dass alle Browser sich daran halten, aber das ist nur eine begründete Vermutung. Die HTML5-Spezifikation erlaubt auch leere URLs.
Bearbeiten: Um die aktualisierte Frage zu erfüllen, kann (fast) die Abfragezeichenfolge mit href="?"
gelöscht werden.
Tags und Links html