Was ist eine gute Lösung für cross-browser-javascript-redirect mit der Geschichte?
Ich bin derzeit kämpfen Google Chrome auf die folgende Aktion:
location.href = url
location.replace(url)
document.location = url
window.navigate(url) //doesn't work in Chrome/Firefox
location.assign(url)
window.open(url, '_self')
window.location.href = url
Ich habe alles versucht, und weder hinzufügen eines history-Eintrags. Gibt es eine Möglichkeit in Google Chrome zu tun, ein javascript-redirect MIT Geschichte?
Dank.
Erklärung
Wir haben eine Tabelle der Elemente, wenn Sie klicken auf die Zeile, ich möchte die Seite für die Navigation zu einem angegebenen URL, wenn jemand eine gute Lösung, um diese anderen als die onclick= "send" - Methode wir verwenden nun, lassen Sie es mich bitte wissen.
Update
Es scheint, dass Stackoverflow-seiner-selbst hat genau dasselbe Problem. In der Haupt-Ansicht, klicken Sie auf eine der ersten 3 Spalten in der Frage Liste (# Antworten, etc..), dann klicken Sie auf die zurück-Taste, es wird Sie zurück 2 Seiten.
Auch, Chrome verhält sich richtig für mich. Es geht zurück, wie erwartet.
Ich gebe diese ein kleines versuchen Sie heute, sehen Sie, wenn es ist einfach zu implementieren mit einem jquery-Lösung.
Die Formular-Methode nicht so gut funktionieren.
Haben Sie werfen Sie einen Blick in Ihre Geschichte (History im Menü Verlauf Anzeigen)?
InformationsquelleAutor Tom Anderson | 2009-07-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl, ich muss zuerst sagen, dass das Chrom verhält sich dumm, und man sollte wohl keine sorgen machen. Versuchen Sie, erstellen Sie ein dummy-form und mit einer GET-Methode und programmgesteuert senden...
Dann ist dein onclick...
Ich weiß, es ist weit von einer idealen Lösung, aber ich bin froh, dass es geklappt für Sie!
Diese Art der Umleitung nicht funktionieren bei mir in Firefox 13.0.1, mit JQuery 1.7.1 und den folgenden code:
$('<form id="dummyForm" method="GET" action="/content/application-submit.php"> <input type="hidden" name="application" value="success" /></form>').submit();
. Jedoch, es funktioniert, wenn Sie so etwas wie:$('<form id="dummyForm" method="GET" action="/content/application-submit.php"> <input type="hidden" name="application" value="success" /></form>').appendTo('body'); document.getElementById('dummyForm').submit();
.I. e., Sie können diese Umleitung in Firefox, es sei denn, es ist tatsächlich in dem Dokument.
Nachdem ich es getestet. Es funktioniert im IE8 und Chrome, aber die umgeleitete url am Ende mit einer unnötigen Fragezeichen, Wie es zu entfernen ?danke.
InformationsquelleAutor Josh Stodola
alle javascript-Lösung auf Basis von @Josh Stodola Antwort
aktualisiert die Antwort... zugegeben form Methode POST
InformationsquelleAutor rbawaskar
Was Sie tun können, mithilfe von jQuery ist so etwas wie:
Da ich nicht weiß, die Struktur des markup ist es schwierig einen bestimmten fix.
Sehen die jQuery-Dokumentation auf wrapInner.
InformationsquelleAutor Jason Berry
Was ist mit "Klick" auf einen link mit JS?
Ich bin mir nicht sicher, ob das funktioniert, aber es sollte imitieren ein Benutzer auf die Verknüpfung klicken.
.click()
nur auslösen, dieclick
registrierten Ereignisse auf diea
tag. Ich könnte falsch sein. Ich hatte ein problem vor kurzem wo das nicht funktioniert und ich musstejquery.simulate.js
.InformationsquelleAutor Darryl Hein
Nehmen, was Josh Stodola empfohlen, und Sie tun es mit jquery stattdessen habe ich eine Methode erstellt, die scheint, dies zu umgehen, Chrome-Problem ohne viel Aufwand in das markup.
Hier eine voll funktionierende version.
InformationsquelleAutor Tom Anderson
chrome wird nicht unterstützt Lage.reload. Verwenden Fenster.open(url, '_self') für die Seite umleiten
InformationsquelleAutor
Ich weiß, dies ist eine ältere Frage, aber wenn Sie auf der Navigation einen link auf der gleichen Seite sind, sollten Sie in der Lage sein, einfach folgende, 123, wo ist die item-id:
InformationsquelleAutor frodo2975
Hier eine schöne, funktionale und saubere jQuery-Lösung, basierend auf Josh Stodola (was für mich nicht funktioniert).
InformationsquelleAutor maxhud