From f0625272386088504309161cc00c1a9c84ed1147 Mon Sep 17 00:00:00 2001 From: oc Date: Tue, 19 Jun 2018 22:01:17 +0800 Subject: [PATCH] Fix Compress Save Bug --- libs/utils.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/utils.js b/libs/utils.js index 58c625a1..062772ac 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -76,7 +76,19 @@ utils.prototype.unshift = function (a,b) { ////// 设置本地存储 ////// utils.prototype.setLocalStorage = function(key, value) { try { - localStorage.setItem(core.firstData.name + "_" + key, LZString.compress(JSON.stringify(value))); + var str = JSON.stringify(value); + var compressed = LZString.compress(str); + + // test if we can save to localStorage + localStorage.setItem("__tmp__", compressed); + if (LZString.decompress(localStorage.getItem("__tmp__"))==str) { + localStorage.setItem(core.firstData.name + "_" + key, compressed); + } + else { + // We cannot compress the data + localStorage.setItem(core.firstData.name + "_" + key, str); + } + localStorage.removeItem("__tmp__"); return true; } catch (e) {