diff options
author | Emmanuel ROHEE <erohee@amdocs.com> | 2014-09-19 15:18:30 +0200 |
---|---|---|
committer | Emmanuel ROHEE <erohee@amdocs.com> | 2014-09-19 17:20:33 +0200 |
commit | f9688d7519dad2f55f949cbb565db836790c4bbe (patch) | |
tree | 2cc8ee6e547201791888df16417fe5e847ef1951 | |
parent | SYN-47: Fix bug where we still returned events for rooms we had left. (diff) | |
download | synapse-f9688d7519dad2f55f949cbb565db836790c4bbe.tar.xz |
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.
-rwxr-xr-x | webclient/app.css | 7 | ||||
-rw-r--r-- | webclient/app.js | 19 | ||||
-rw-r--r-- | webclient/index.html | 15 |
3 files changed, 37 insertions, 4 deletions
diff --git a/webclient/app.css b/webclient/app.css index 736aea660c..360263e13f 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 9370f773b3..31118304c6 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 7e4dcb8345..a9d5cfd4b0 100644 --- a/webclient/index.html +++ b/webclient/index.html @@ -100,9 +100,20 @@ </div> </div> - <div id="page" ng-view></div> + <div class="page" ng-hide="unsupportedBrowser" ng-view></div> - <div id="footer" ng-hide="location.indexOf('/room') == 0"> + <div class="page" ng-show="unsupportedBrowser"> + <div id="unsupportedBrowser" ng-show="unsupportedBrowser"> + Sorry, your browser is not supported. <br/> + Reason: {{ unsupportedBrowser.reason }} + + <br/><br/> + Your browser: <br/> + {{ unsupportedBrowser.browser }} + </div> + </div> + + <div id="footer" ng-hide="location.indexOf('/room') === 0"> <div id="footerContent"> © 2014 Matrix.org </div> |