forked from MirrorHub/synapse
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.
This commit is contained in:
parent
28bcd01e8d
commit
f9688d7519
3 changed files with 37 additions and 4 deletions
|
@ -20,7 +20,7 @@ a:visited { color: #666; }
|
||||||
a:hover { color: #000; }
|
a:hover { color: #000; }
|
||||||
a:active { color: #000; }
|
a:active { color: #000; }
|
||||||
|
|
||||||
#page {
|
.page {
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
margin-bottom: -32px; /* to make room for the footer */
|
margin-bottom: -32px; /* to make room for the footer */
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,11 @@ a:active { color: #000; }
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#unsupportedBrowser {
|
||||||
|
padding-top: 240px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
#header
|
#header
|
||||||
{
|
{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -80,7 +80,24 @@ matrixWebClient.config(['$routeProvider', '$provide', '$httpProvider',
|
||||||
$httpProvider.interceptors.push('AccessTokenInterceptor');
|
$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 user auth details are not in cache, go to the login page
|
||||||
if (!matrixService.isUserLoggedIn() &&
|
if (!matrixService.isUserLoggedIn() &&
|
||||||
|
|
|
@ -100,9 +100,20 @@
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<div id="footerContent">
|
||||||
© 2014 Matrix.org
|
© 2014 Matrix.org
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue