Ich habe den Code von jemand anderem durchgesehen und die Dinge ein wenig verbessert, und ich bin auf einen Code gestoßen, den ich nicht ganz verstehe. Könnten Sie mir erklären, was hier vor sich geht und welche Auswirkungen es auf die Implementierung hat, und vielleicht eine bessere Lösung, um den Sitzungsspeicher für den Anwendungsfall zu verwalten oder einfach nur einen besseren Weg, den Code zu schreiben?Kann jemand diesen Sitzungsspeichercode erklären?
//Load Content from Cache if this is not a Refresh or new Page Load
if ((document.referrer!=null)&&(sessionStorage.getItem('lastReferrer')!=document.referrer)){
if (('sessionStorage' in window) && (window['sessionStorage'] !== null)) {
if ('@Name'+window.location.href in sessionStorage){
$("#@Name").html(sessionStorage.getItem('@Name'+window.location.href));
$(window).scrollTop(sessionStorage.getItem('@Name'+'ScrollPos'+window.location.href));
jQuery.data($('#ResponderScripts')[0],'cs_page',sessionStorage.getItem('@Name'+'Page'+window.location.href));
jQuery.data($('#ResponderScripts')[0],'cs_totalPages',sessionStorage.getItem('@Name'+'TotalPage'+window.location.href));
pageLoadedFromCache=1;
console.log('Replaced from Cache: @name url='+window.location.href+' referrer='+document.referrer+' page='+$('#ResponderScripts').data("cs_page"));
}
}
};
// Save Component Content when leaving the page.
$(window).unload(function() {
history.replaceState({}, document.title,window.location.href);
if (('sessionStorage' in window) && (window['sessionStorage'] !== null)) {
var componentContent = $("#@Name").html();
if (componentContent!=null){
sessionStorage.setItem('@Name'+window.location.href, componentContent);
sessionStorage.setItem('@Name'+'ScrollPos'+window.location.href,$(window).scrollTop());
sessionStorage.setItem('@Name'+'Page'+window.location.href,$('#ResponderScripts').data("cs_page"));
sessionStorage.setItem('@Name'+'TotalPage'+window.location.href,$('#ResponderScripts').data("cs_totalPages"));
console.log('stored @name url='+window.location.href+' referrer='+document.referrer+' page='+sessionStorage.getItem('@Name'+'Page'+window.location.href));
}
}
});
Danke jede Hilfe wird geschätzt! Wenn dies nicht der richtige Ort dafür ist, lass es mich wissen und ich kann es entfernen.
Statt mich Downvoting könnten Sie mir nur sagen, ob dies nicht der richtige Ort dafür ist, verlieren rep weh tut wenn ich so wenig habe. – BlunderCode
Es sieht so aus, als ob es das tut, was es sagt. Es wird Inhalt aus dem Cache geladen, wenn es sich nicht um eine Aktualisierung oder um eine neue Seite handelt. Ehrlich gesagt, ich weiß nicht, wie er das machen würde (außer es sind wirklich riesige Seiten in einem langsamen Netzwerk). –
Dies ist geschrieben, um unendliche Scroll- und Ajax-Browserhistorie zu behandeln. Wäre es besser, es komplett neu zu schreiben oder ist das Standard? – BlunderCode