2016-03-11 00:48:53 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<head>
|
2016-11-18 16:21:25 +00:00
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
|
|
|
|
|
|
<title>ONLYOFFICE Spreadsheets</title>
|
|
|
|
|
2016-11-21 13:36:00 +00:00
|
|
|
<link rel="stylesheet" type="text/css" href="../../../../sdkjs/cell/css/main-mobile.css"/>
|
2017-02-06 14:42:54 +00:00
|
|
|
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,500,700" rel="stylesheet" type="text/css">
|
2016-11-18 16:21:25 +00:00
|
|
|
<!-- App styles -->
|
|
|
|
|
|
|
|
<!-- splash -->
|
2016-03-11 00:48:53 +00:00
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
.loadmask {
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
top: 0;
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
overflow: hidden;
|
|
|
|
border: none;
|
|
|
|
background-color: #f4f4f4;
|
|
|
|
z-index: 100;
|
|
|
|
}
|
|
|
|
|
|
|
|
.loader-page {
|
|
|
|
width: 100%;
|
|
|
|
height: 170px;
|
|
|
|
bottom: 42%;
|
|
|
|
position: absolute;
|
|
|
|
text-align: center;
|
2016-09-14 09:45:10 +00:00
|
|
|
line-height: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.loader-logo {
|
|
|
|
max-height: 160px;
|
|
|
|
margin-bottom: 10px;
|
2016-03-11 00:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.loader-page-romb {
|
|
|
|
width: 40px;
|
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.loader-page-text {
|
|
|
|
width: 100%;
|
|
|
|
bottom: 42%;
|
|
|
|
position: absolute;
|
|
|
|
text-align: center;
|
|
|
|
color: #888;
|
|
|
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
|
|
line-height: 20px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.loader-page-text-loading {
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.loader-page-text-customer {
|
|
|
|
font-size: 16px;
|
|
|
|
margin-bottom: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.romb {
|
|
|
|
width: 40px;
|
|
|
|
height: 40px;
|
|
|
|
-webkit-transform: rotate(135deg) skew(20deg, 20deg);
|
|
|
|
-moz-transform: rotate(135deg) skew(20deg, 20deg);
|
|
|
|
-ms-transform: rotate(135deg) skew(20deg, 20deg);
|
|
|
|
-o-transform: rotate(135deg) skew(20deg, 20deg);
|
|
|
|
position: absolute;
|
|
|
|
background: red;
|
|
|
|
border-radius: 6px;
|
|
|
|
-webkit-animation: movedown 3s infinite ease;
|
|
|
|
-moz-animation: movedown 3s infinite ease;
|
|
|
|
-ms-animation: movedown 3s infinite ease;
|
|
|
|
-o-animation: movedown 3s infinite ease;
|
|
|
|
animation: movedown 3s infinite ease;
|
|
|
|
}
|
|
|
|
|
|
|
|
#blue {
|
|
|
|
z-index: 3;
|
|
|
|
background: #55bce6;
|
|
|
|
-webkit-animation-name: blue;
|
|
|
|
-moz-animation-name: blue;
|
|
|
|
-ms-animation-name: blue;
|
|
|
|
-o-animation-name: blue;
|
|
|
|
animation-name: blue;
|
|
|
|
}
|
|
|
|
|
|
|
|
#red {
|
|
|
|
z-index:1;
|
|
|
|
background: #de7a59;
|
|
|
|
-webkit-animation-name: red;
|
|
|
|
-moz-animation-name: red;
|
|
|
|
-ms-animation-name: red;
|
|
|
|
-o-animation-name: red;
|
|
|
|
animation-name: red;
|
|
|
|
}
|
|
|
|
|
|
|
|
#green {
|
|
|
|
z-index: 2;
|
|
|
|
background: #a1cb5c;
|
|
|
|
-webkit-animation-name: green;
|
|
|
|
-moz-animation-name: green;
|
|
|
|
-ms-animation-name: green;
|
|
|
|
-o-animation-name: green;
|
|
|
|
animation-name: green;
|
|
|
|
}
|
|
|
|
|
|
|
|
@-webkit-keyframes red {
|
|
|
|
0% { top:120px; background: #de7a59; }
|
|
|
|
10% { top:120px; background: #F2CBBF; }
|
|
|
|
14% { background: #f4f4f4; top:120px; }
|
|
|
|
15% { background: #f4f4f4; top:0;}
|
|
|
|
20% { background: #E6E4E4; }
|
|
|
|
30% { background: #D2D2D2; }
|
|
|
|
40% { top:120px; }
|
|
|
|
100% { top:120px; background: #de7a59; }
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes red {
|
|
|
|
0% { top:120px; background: #de7a59; }
|
|
|
|
10% { top:120px; background: #F2CBBF; }
|
|
|
|
14% { background: #f4f4f4; top:120px; }
|
|
|
|
15% { background: #f4f4f4; top:0; }
|
|
|
|
20% { background: #E6E4E4; }
|
|
|
|
30% { background: #D2D2D2; }
|
|
|
|
40% { top:120px; }
|
|
|
|
100% { top:120px; background: #de7a59; }
|
|
|
|
}
|
|
|
|
|
|
|
|
@-webkit-keyframes green {
|
|
|
|
0% { top:110px; background: #a1cb5c; opacity:1; }
|
|
|
|
10% { top:110px; background: #CBE0AC; opacity:1; }
|
|
|
|
14% { background: #f4f4f4; top:110px; opacity:1; }
|
|
|
|
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
|
|
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
|
|
25% { background: #EFEFEF; top:0; opacity:1; }
|
|
|
|
30% { background:#E6E4E4; }
|
|
|
|
70% { top:110px; }
|
|
|
|
100% { top:110px; background: #a1cb5c; }
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes green {
|
|
|
|
0% { top:110px; background: #a1cb5c; opacity:1; }
|
|
|
|
10% { top:110px; background: #CBE0AC; opacity:1; }
|
|
|
|
14% { background: #f4f4f4; top:110px; opacity:1; }
|
|
|
|
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
|
|
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
|
|
25% { background: #EFEFEF; top:0; opacity:1; }
|
|
|
|
30% { background:#E6E4E4; }
|
|
|
|
70% { top:110px; }
|
|
|
|
100% { top:110px; background: #a1cb5c; }
|
|
|
|
}
|
|
|
|
|
|
|
|
@-webkit-keyframes blue {
|
|
|
|
0% { top:100px; background: #55bce6; opacity:1; }
|
|
|
|
10% { top:100px; background: #BFE8F8; opacity:1; }
|
|
|
|
14% { background: #f4f4f4; top:100px; opacity:1; }
|
|
|
|
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
|
|
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
|
|
25% { background: #f4f4f4; top:0; opacity:0; }
|
|
|
|
45% { background: #EFEFEF; top:0; opacity:0,2; }
|
|
|
|
100% { top:100px; background: #55bce6; }
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes blue {
|
|
|
|
0% { top:100px; background: #55bce6; opacity:1; }
|
|
|
|
10% { top:100px; background: #BFE8F8; opacity:1; }
|
|
|
|
14% { background: #f4f4f4; top:100px; opacity:1; }
|
|
|
|
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
|
|
20% { background: #f4f4f4; top:0; opacity:0; }
|
2016-11-18 16:21:25 +00:00
|
|
|
25% { background: #fff; top:0; opacity:0; }
|
2016-03-11 00:48:53 +00:00
|
|
|
45% { background: #EFEFEF; top:0; opacity:0,2; }
|
|
|
|
100% { top:100px; background: #55bce6; }
|
|
|
|
}
|
|
|
|
</style>
|
2016-11-18 16:21:25 +00:00
|
|
|
</head>
|
|
|
|
<body>
|
2016-03-11 00:48:53 +00:00
|
|
|
<script type="text/javascript">
|
2016-11-18 16:21:25 +00:00
|
|
|
function getUrlParams() {
|
|
|
|
var e,
|
|
|
|
a = /\+/g, // Regex for replacing addition symbol with a space
|
|
|
|
r = /([^&=]+)=?([^&]*)/g,
|
|
|
|
d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
|
|
|
|
q = window.location.search.substring(1),
|
|
|
|
urlParams = {};
|
|
|
|
|
|
|
|
while (e = r.exec(q))
|
|
|
|
urlParams[d(e[1])] = d(e[2]);
|
|
|
|
|
|
|
|
return urlParams;
|
|
|
|
}
|
|
|
|
|
|
|
|
function encodeUrlParam(str) {
|
|
|
|
return str.replace(/&/g, '&')
|
|
|
|
.replace(/"/g, '"')
|
|
|
|
.replace(/'/g, ''')
|
|
|
|
.replace(/</g, '<')
|
|
|
|
.replace(/>/g, '>');
|
|
|
|
}
|
|
|
|
|
|
|
|
var params = getUrlParams(),
|
2018-01-24 11:40:59 +00:00
|
|
|
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
|
2016-11-18 16:21:25 +00:00
|
|
|
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
|
|
|
|
margin = (customer !== '') ? 50 : 20,
|
|
|
|
loading = 'Loading...',
|
|
|
|
logo = params["logo"] ? ((params["logo"] !== 'none') ? ('<img src="' + encodeUrlParam(params["logo"]) + '" class="loader-logo" />') : '') : null;
|
|
|
|
|
2017-01-23 11:04:37 +00:00
|
|
|
window.frameEditorId = params["frameEditorId"];
|
2016-03-11 00:48:53 +00:00
|
|
|
|
2016-11-18 16:21:25 +00:00
|
|
|
if ( lang == 'de') loading = 'Ladevorgang...';
|
|
|
|
else if ( lang == 'es') loading = 'Cargando...';
|
|
|
|
else if ( lang == 'fr') loading = 'Chargement en cours...';
|
|
|
|
else if ( lang == 'it') loading = 'Caricamento in corso...';
|
|
|
|
else if ( lang == 'pt') loading = 'Carregando...';
|
|
|
|
else if ( lang == 'ru') loading = 'Загрузка...';
|
|
|
|
else if ( lang == 'sl') loading = 'Nalaganje...';
|
|
|
|
else if ( lang == 'tr') loading = 'Yükleniyor...';
|
|
|
|
|
|
|
|
document.write(
|
|
|
|
'<div id="loading-mask" class="loadmask">' +
|
|
|
|
'<div class="loader-page" style="margin-bottom: ' + margin + 'px;' + ((logo!==null) ? 'height: auto;' : '') + '">' +
|
|
|
|
((logo!==null) ? logo :
|
|
|
|
'<div class="loader-page-romb">' +
|
|
|
|
'<div class="romb" id="blue"></div>' +
|
|
|
|
'<div class="romb" id="green"></div>' +
|
|
|
|
'<div class="romb" id="red"></div>' +
|
|
|
|
'</div>') +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="loader-page-text">' + customer +
|
|
|
|
'<div class="loader-page-text-loading">' + loading + '</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'</div>');
|
2016-03-11 00:48:53 +00:00
|
|
|
</script>
|
|
|
|
|
2016-11-18 16:21:25 +00:00
|
|
|
<div id="viewport"></div>
|
2016-03-11 00:48:53 +00:00
|
|
|
|
2016-11-18 16:21:25 +00:00
|
|
|
<script type="text/javascript" src="../../../vendor/jquery/jquery.min.js"></script>
|
|
|
|
<script type="text/javascript" src="../../../vendor/xregexp/xregexp-all-min.js"></script>
|
2016-03-11 00:48:53 +00:00
|
|
|
|
2016-05-13 11:23:09 +00:00
|
|
|
<script type="text/javascript" src="../sdk_dev_scripts.js"></script>
|
|
|
|
<script>
|
2019-03-15 15:06:54 +00:00
|
|
|
function isSailfish() {
|
|
|
|
var ua = navigator.userAgent;
|
|
|
|
return /Sailfish/.test(ua) || /Jolla/.test(ua);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isSailfish()) {
|
|
|
|
var ua = navigator.userAgent + ';Android 5.0;';
|
|
|
|
Object.defineProperty(navigator, 'userAgent', {
|
|
|
|
get: function () { return ua; }
|
|
|
|
});
|
2019-03-19 15:07:52 +00:00
|
|
|
document.write('<script type="text/javascript" src="../../../vendor/iscroll/iscroll.js"><\/script>');
|
2019-03-15 15:06:54 +00:00
|
|
|
}
|
|
|
|
|
2016-05-13 11:23:09 +00:00
|
|
|
window.sdk_dev_scrpipts.forEach(function(item){
|
|
|
|
document.write('<script type="text/javascript" src="' + item + '"><\/script>');
|
|
|
|
});
|
2017-06-23 13:42:18 +00:00
|
|
|
|
|
|
|
window.requireTimeourError = function(){
|
|
|
|
var reqerr;
|
|
|
|
|
|
|
|
if ( lang == 'de') reqerr = 'Die Verbindung ist zu langsam, einige Komponenten konnten nicht geladen werden. Aktualisieren Sie bitte die Seite.';
|
|
|
|
else if ( lang == 'es') reqerr = 'La conexión es muy lenta, algunos de los componentes no han podido cargar. Por favor recargue la página.';
|
|
|
|
else if ( lang == 'fr') reqerr = 'La connexion est trop lente, certains des composants n\'ons pas pu être chargé. Veuillez recharger la page.';
|
|
|
|
else if ( lang == 'ru') reqerr = 'Слишком медленное соединение, не удается загрузить некоторые компоненты. Пожалуйста, обновите страницу.';
|
|
|
|
else reqerr = 'The connection is too slow, some of the components could not be loaded. Please reload the page.';
|
|
|
|
|
|
|
|
return reqerr;
|
|
|
|
};
|
2016-05-13 11:23:09 +00:00
|
|
|
</script>
|
2016-11-18 16:21:25 +00:00
|
|
|
<!-- application -->
|
|
|
|
<script data-main="app-dev" src="../../../vendor/requirejs/require.js"></script>
|
2016-03-11 00:48:53 +00:00
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|