ich die nächste Ausgabe haben, habe ich Seite, die mit Ajax öffnet und dynamicly wie diese soSchienen Ajax-URL ändern
window.history.pushState(null, null, "/desktop/manage/add");
URL des Browsers ändern, wenn ich in der „add“ Seite bin und öffnen Sie eine beliebige Seite mit Get/Post-Anfrage (noch eine andere Website) und drücken Sie auf "Zurück" -Button im Browser Ich bekomme nicht den vollständigen HTML-Code der Seite, sondern nur Ajax Teil. So:
Wie kann das behoben werden?
P.S Wenn ich window.history.pushState (null, null, "/ desktop/manage/add"); alles funktioniert gut, aber ich muss die URL des Browsers ändern.
UPD: Ich öffne diese Seite per Post Anfrage, NO ajax
dann öffne ich "manage/hinzufügen" Seite über AJAX
Dann auf google.com (jede Seite) und klicken Sie auf zurück-Taste
und meine ajax geladen Seite nicht voll HTML-Seite, gibt es nur ajax Teil nur wie Text:
ich über dieses Thema gelesen und ussually Schienen Programmierer Ereignis hinzufügen Taste sichern klicken Sie wie folgt application.js:
$(window).on('popstate', function() {
$.get(document.location.href)
});
Das funktioniert aber nur Benutzer google nicht wird gehen (oder anderen Websites) funktioniert es nur, wenn sie meine Website durchlaufen und auf die Schaltfläche Zurück klicken.
UPD2: /add Controller
def addProduct
@categories = Market.where("depth = ? and title != ''", 0).reorder(:title);
@tags = UserTag.where(user_id: current_user.id).includes(:tags);
respond_to do |format|
format.html{render layout: "desktop_layout"}
format.js {}
end
end
hier ist mein addProduct.js: (das gerenderte Datei, die Sie in Screenshot zu sehen, nachdem Zurück-Button geklickt)
window.history.pushState('page212', 'Mikee.kz', '/desktop/manage/add');
$("#rightBlock").html("<%= escape_javascript(ajax_section id:'page', :render => 'myadd') %>");
Können Sie die Frage bearbeiten, um die Ausgabe aus Ihrem Protokoll einzuschließen, wenn Sie zwischen den Seiten wechseln? –
@JamesSmith, es gibt kein Protokoll, nachdem ich auf den Zurück-Button geklickt habe ( – mondayguy
) Ah richtig, pushState lässt nichts geladen werden. Https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulation_der_Browser_History Ist/desktop/manage/eine Seite hinzufügen, die der Benutzer zuvor besucht hätte? –