From f9688d7519dad2f55f949cbb565db836790c4bbe Mon Sep 17 00:00:00 2001 From: Emmanuel ROHEE Date: Fri, 19 Sep 2014 15:18:30 +0200 Subject: [PATCH] SYWEB-13: Do not start the app if the browser does not support WEBStorage. Internet Explorer case: Launch the app only for versions 9 and higher. --- webclient/app.css | 7 ++++++- webclient/app.js | 19 ++++++++++++++++++- webclient/index.html | 15 +++++++++++++-- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/webclient/app.css b/webclient/app.css index 736aea660..360263e13 100755 --- a/webclient/app.css +++ b/webclient/app.css @@ -20,7 +20,7 @@ a:visited { color: #666; } a:hover { color: #000; } a:active { color: #000; } -#page { +.page { min-height: 100%; margin-bottom: -32px; /* to make room for the footer */ } @@ -34,6 +34,11 @@ a:active { color: #000; } padding-right: 20px; } +#unsupportedBrowser { + padding-top: 240px; + text-align: center; +} + #header { position: absolute; diff --git a/webclient/app.js b/webclient/app.js index 9370f773b..31118304c 100644 --- a/webclient/app.js +++ b/webclient/app.js @@ -80,7 +80,24 @@ matrixWebClient.config(['$routeProvider', '$provide', '$httpProvider', $httpProvider.interceptors.push('AccessTokenInterceptor'); }]); -matrixWebClient.run(['$location', 'matrixService', function($location, matrixService) { +matrixWebClient.run(['$location', '$rootScope', 'matrixService', function($location, $rootScope, matrixService) { + + // Check browser support + // Support IE from 9.0. AngularJS needs some tricks to run on IE8 and below + var version = parseFloat($.browser.version); + if ($.browser.msie && version < 9.0) { + $rootScope.unsupportedBrowser = { + browser: navigator.userAgent, + reason: "Internet Explorer is supported from version 9" + }; + } + // The app requires localStorage + if(typeof(Storage) === "undefined") { + $rootScope.unsupportedBrowser = { + browser: navigator.userAgent, + reason: "It does not support HTML local storage" + }; + } // If user auth details are not in cache, go to the login page if (!matrixService.isUserLoggedIn() && diff --git a/webclient/index.html b/webclient/index.html index 7e4dcb834..a9d5cfd4b 100644 --- a/webclient/index.html +++ b/webclient/index.html @@ -100,9 +100,20 @@ -
+
-