Ich setze derzeit die Eigenschaft window.location.pathname, um den Benutzer auf eine relative URL umzuleiten. Die neue URL hat Parameter, so dass die Zeile JavaScript sieht wie folgt aus:Einstellen von JavaScript window.location
window.location.pathname = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1) + 'myPage.xhtml?u=' + selected_user.Username;
Dies ist erfolgreich in Firefox, aber Chrome codiert die Fragezeichen mit '% 3F und die Anforderung anschließend fehlschlägt.
Ich bin mir nicht sicher, ob ich window.location richtig verwende. Muss ich Eigenschaften von window.location wie Pfadname oder href verwenden? Ich habe festgestellt, dass der Speicherort neu geladen wird, sobald ich eine Eigenschaft festgelegt habe. So können beispielsweise die Such- und Pfadnameneigenschaften nicht separat festgelegt werden. Kann window.location direkt eingestellt werden? Ich muss nur eine relative URL mit einem Parameter festlegen.
Danke für die detaillierte Erklärung. Ich habe meinen Code geändert, um die Eigenschaft href zu verwenden und auch encodeURIComponent() aufzurufen. – Mark
Bitte beachten Sie, dass [in den meisten Fällen] (http://stackoverflow.com/questions/6725890/window-location-host-vs-window-location-hostname-and-cross-browser-compatibility) '' verwendet werden soll location.host' anstelle von 'location.hostname'. Kurz gesagt, das ist, weil Ihr Code irgendwann in einem Server auf einem anderen Port als 80 laufen kann. –
Beachten Sie, dass in seltenen Fällen, wenn die Quelle ein Iframe ist, sie window.parent.location ausführen muss. ... –