From a519d01754f053eaa8301c5433c5a1c64a80d7f9 Mon Sep 17 00:00:00 2001 From: hallgren Date: Thu, 29 Mar 2012 14:11:38 +0000 Subject: [PATCH] gfse: show an informative error message in browsers that lack support for localStorage --- src/www/gfse/editor.js | 10 +++++++--- src/www/gfse/localstorage.js | 8 ++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/www/gfse/editor.js b/src/www/gfse/editor.js index 4edc7f193..6e7d78cd5 100644 --- a/src/www/gfse/editor.js +++ b/src/www/gfse/editor.js @@ -1440,9 +1440,13 @@ function dir_bugfix() { } if(editor) { - initial_view(); - touch_edit(); - dir_bugfix(); + if(supports_html5_storage()) { + initial_view(); + touch_edit(); + dir_bugfix(); + } + else + editor.innerHTML="

This browser does not appear to support localStorage, and the grammar editor does not work without it. Sorry!" } //console.log("hi") diff --git a/src/www/gfse/localstorage.js b/src/www/gfse/localstorage.js index 696a432fb..162b1db3b 100644 --- a/src/www/gfse/localstorage.js +++ b/src/www/gfse/localstorage.js @@ -2,6 +2,14 @@ // Grammars are stored locally in the browser using localStorage. // See http://diveintohtml5.info/storage.html +function supports_html5_storage() { + try { + return 'localStorage' in window && window['localStorage'] !== null; + } catch (e) { + return false; + } +} + var local={ prefix:"gf.editor.simple.grammar", get: function (name,def) {