diff --git a/tests/playground.html b/tests/playground.html
index f48c91d24..016d44601 100644
--- a/tests/playground.html
+++ b/tests/playground.html
@@ -82,14 +82,19 @@ function start() {
},
});
// Restore previously displayed text.
- var text = sessionStorage.getItem('textarea');
- if (text) {
- document.getElementById('importExport').value = text;
+ if (sessionStorage) {
+ var text = sessionStorage.getItem('textarea');
+ if (text) {
+ document.getElementById('importExport').value = text;
+ }
+ // Restore event logging state.
+ var state = sessionStorage.getItem('logEvents');
+ logEvents(Boolean(Number(state)));
+ } else {
+ // MSIE 11 does not support sessionStorage on file:// URLs.
+ logEvents(false);
}
taChange();
- // Restore event logging state.
- var state = sessionStorage.getItem('logEvents');
- logEvents(Boolean(Number(state)));
}
function toXml() {
@@ -118,7 +123,9 @@ function toCode(lang) {
// Preserve text between page reloads.
function taChange() {
var textarea = document.getElementById('importExport');
- sessionStorage.setItem('textarea', textarea.value)
+ if (sessionStorage) {
+ sessionStorage.setItem('textarea', textarea.value);
+ }
var valid = true;
try {
Blockly.Xml.textToDom(textarea.value);
@@ -131,7 +138,9 @@ function taChange() {
function logEvents(state) {
var checkbox = document.getElementById('logCheck');
checkbox.checked = state;
- sessionStorage.setItem('logEvents', Number(state));
+ if (sessionStorage) {
+ sessionStorage.setItem('logEvents', Number(state));
+ }
if (state) {
workspace.addChangeListener(logger);
} else {