瀏覽代碼

fix error in statuspage if cookies are disabled (#912)

If cookies are disabled, the Statuspage only displays an empty ("Not connected")
This checks if the localStorage API is available and working and only uses it in this case
Also allows better backwards compatibility.
Brother-Lal 7 年之前
父節點
當前提交
f2a52c285c
共有 1 個文件被更改,包括 13 次插入2 次删除
  1. 13 2
      package/gluon-status-page/src/js/main.js

+ 13 - 2
package/gluon-status-page/src/js/main.js

@@ -83,7 +83,17 @@ require([ "bacon"
     return a
   }
 
-  if (localStorage.nodes)
+  var lsavailable = false
+  try {
+    localStorage.setItem("t", "t")
+    localStorage.removeItem("t")
+    lsavailable = true
+  } catch(e) {
+    lsavailable = false
+  }
+
+
+  if ( lsavailable && localStorage.nodes)
     JSON.parse(localStorage.nodes).forEach(nodesBusIn.push)
 
   nodesBus.map(".nodes").onValue(function (nodes) {
@@ -92,7 +102,8 @@ require([ "bacon"
     for (var k in nodes)
       out.push(nodes[k])
 
-    localStorage.nodes = JSON.stringify(out)
+    if (lsavailable)
+      localStorage.nodes = JSON.stringify(out)
   })
 
   var bootstrap = Helper.getJSON(bootstrapUrl)