diff --git a/index.php b/index.php index 00da962..df1ea9d 100644 --- a/index.php +++ b/index.php @@ -52,12 +52,14 @@ $(document).ready(function() { // Handler for .ready() called. + var url = ""; + $.when($.get('templates/default/header.html'), $.get('templates/default/footer.html'), $.get('templates/default/bookdetail.html'), $.get('templates/default/main.html'), $.get('templates/default/page.html'), - $.getJSON('')).done(function(header, footer, bookdetail, main, page, data){ + $.getJSON(url)).done(function(header, footer, bookdetail, main, page, data){ templateBookDetail = doT.template (bookdetail [0]); var defMain = { @@ -77,7 +79,8 @@ currentData = data [0]; updatePage (data [0]); - history.replaceState(data [0], "", window.location); + cache.put (url, data [0]); + history.replaceState(url, "", window.location); }); }); diff --git a/util.js b/util.js index 0b57d91..7d9ef36 100644 --- a/util.js +++ b/util.js @@ -66,11 +66,17 @@ function htmlEscape(str) { function navigateTo (url) { before = new Date (); var jsonurl = url.replace ("index", "getJSON"); - $.getJSON(jsonurl, function(data) { + var cachedData = cache.get (jsonurl); + if (cachedData) { history.pushState(jsonurl, "", url); - cache.put (jsonurl, data); - updatePage (data); - }); + updatePage (cachedData); + } else { + $.getJSON(jsonurl, function(data) { + history.pushState(jsonurl, "", url); + cache.put (jsonurl, data); + updatePage (data); + }); + } } function updatePage (data) {