Ich erstelle ein Skript, um den Browser zurück zu laden und die vorherige Seite zu laden. Ich bin neu in jQuery und Javascript (eine PHP-Person). Bevor ich das erfand, habe ich das ganze Web nach einer Bibliothek durchsucht. Aber da ich viele Parameter in meinen Ajax-Links verwende, kann ich diese Bibliotheken nicht verwenden. Ich gebe zu, es ist mein Fehler, weil ich nicht weiß, wie man solche komplexen Systeme benutzt. So denke ich, wenn ich ein System wie folgt erstelle.Hören Browser zurück Schaltfläche, wenn Sie AJAX verwenden und speichern Sie die HTML-Daten als ein Objekt. Gut oder schlecht?
// get the contents of a particular div and save as an object/associative array
// { hash : pageNumber, html : content}
function save_history(div){
var content = $(div).html();
// increment the page number and add hash tags to the URL
}
// Listen to the browser hash value change
$(window).bind('hashchange', function() {
hash = window.location.hash;
if(hashValue){
load_history(hashValue);
}
});
// Load data from history
function load_history(id){
// fetch the content based on the hashvalue
$(div).html(content);
}
Gibt es ein Problem bei der Verwendung dieses? Werden die Seiten dadurch nicht mehr reagieren oder den Browser zum Absturz bringen, wenn viele Inhalte als Objekte gespeichert werden? Ich möchte meine Zeit nicht verschwenden, wenn es solche Probleme verursacht.
Warum sind die standardmäßigen Browserimplementierungen nicht akzeptabel? Machst du eine sehr schwere AJAX Web-App? Ich meine Browser in diesen Tagen machen alle Arten von Caching, warnen Sie, wenn Sie versuchen, zu einer POST-Anfrage usw. zurückzugehen usw. – thatidiotguy
@thatiidiotguy: Ja, das ganze System ist ajaxified. Ich plane nicht, die Formulareinreichungen zwischenzuspeichern. Nur alle Ansichten. – Mic
Dann bekommst du eine Verbesserung, da ich dafür auch keine Best Practices kenne. – thatidiotguy