From a186e5e7e9fb5aa7b86ecfa9736364576f63e5bf Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Fri, 27 Jul 2012 23:53:05 -0700 Subject: [PATCH] Copy Modernizr's more robust sessionStorage feature detection. --- r2/r2/public/static/js/analytics.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/r2/r2/public/static/js/analytics.js b/r2/r2/public/static/js/analytics.js index 680f2c887..be6144a31 100644 --- a/r2/r2/public/static/js/analytics.js +++ b/r2/r2/public/static/js/analytics.js @@ -113,10 +113,10 @@ r.analytics = { } r.analytics.breadcrumbs = { - hasSessionStorage: 'sessionStorage' in window, selector: '.thing, .side, .sr-list, .srdrop, .tagline, .md, .organic-listing, .gadget, a, button, input', init: function() { + this.hasSessionStorage = this._checkSessionStorage() this.data = this._load() var refreshed = this.data[0] && this.data[0]['url'] == window.location @@ -129,6 +129,17 @@ r.analytics.breadcrumbs = { }, this)) }, + _checkSessionStorage: function() { + // Via modernizr.com's sessionStorage check. + try { + sessionStorage.setItem('__test__', 'test') + sessionStorage.removeItem('__test__') + return true + } catch(e) { + return false + } + }, + _load: function() { if (!this.hasSessionStorage) { return [{stored: false}]