commit a1e0e7ad3da8f95f08454240b82575e152653524 parent 6cb3ec7d9b9d368566a760896b8f96eed2ccfdfa Author: Yoann <yoann.b87@voila.fr> Date: Thu, 28 Apr 2011 18:56:33 +0200 Merge branch 'unstable' of https://github.com/jsmaniac/2011-m1s2-ter into unstable Diffstat:
| M | code/serveur/php/ressources/pticlic.js | | | 8 | +++++--- |
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/code/serveur/php/ressources/pticlic.js b/code/serveur/php/ressources/pticlic.js @@ -8,7 +8,7 @@ function State(init) { var futureHashChange = null; State.prototype.commit = function() { try { - futureHashChange = "#"+encodeURI($.JSON.encode(this)); + futureHashChange = "#"+encodeURI('"'+$.JSON.encode(this)); location.hash = futureHashChange; return this; } catch(e) {alert("Error State.prototype.commit");alert(e);} @@ -46,8 +46,10 @@ function hashchange() { if (futureHashChange === location.hash) { futureHashChange = null; } else { - var stateJSON = decodeURI(location.hash.substring(location.hash.indexOf("#") + 1)); - state = new State($.parseJSON(stateJSON)).validate(); + var stateJSON = location.hash.substring(location.hash.indexOf("#") + 1); + if (stateJSON.charAt(0) != '"') { stateJSON = decodeURI(stateJSON); } + stateJSON = stateJSON.substring(1); + state = new State($.parseJSON(stateJSON || '{}')).validate(); } } catch(e) {alert("Error hashchange");alert(e);} }