2016-03-11 00:48:53 +00:00
<!DOCTYPE html>
<html>
<head>
<title>ONLYOFFICE Document Editor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=IE8"/>
<meta name="description" content="" />
<meta name="keywords" content="" />
<link rel="icon" href="resources/img/favicon.ico" type="image/x-icon" />
2017-07-04 15:15:09 +00:00
<!-- splash -->
2016-03-11 00:48:53 +00:00
<style type="text/css">
.loadmask {
left: 0;
top: 0;
position: absolute;
height: 100%;
width: 100%;
overflow: hidden;
border: none;
background-color: #f4f4f4;
2019-07-26 13:20:43 +00:00
z-index: 1001;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel {
2016-03-11 00:48:53 +00:00
width: 100%;
2019-09-12 14:11:32 +00:00
height: 56px;
background: #40865c;
2016-09-14 09:45:10 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel > div {
display: flex;
align-items: center;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel .loading-logo {
padding: 0 24px 0 12px;
max-width: 200px;
height: 20px;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel .loading-logo > img {
display: inline-block;
max-width: 100px;
max-height: 20px;
opacity: 0;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel .spacer {
margin-left: auto;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel .circle {
vertical-align: middle;
width: 20px;
height: 20px;
border-radius: 12px;
margin: 4px 10px;
background: rgba(255, 255, 255, 0.2);
2016-03-11 00:48:53 +00:00
2019-09-12 14:11:32 +00:00
-webkit-animation: flickerAnimation 2s infinite ease-in-out;
-moz-animation: flickerAnimation 2s infinite ease-in-out;
-o-animation: flickerAnimation 2s infinite ease-in-out;
animation: flickerAnimation 2s infinite ease-in-out;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .brendpanel .rect {
vertical-align: middle;
width: 50px;
height: 12px;
border-radius: 3px;
margin: 0 10px;
background: rgba(255, 255, 255, 0.2);
2016-03-11 00:48:53 +00:00
2019-09-12 14:11:32 +00:00
-webkit-animation: flickerAnimation 2s infinite ease-in-out;
-moz-animation: flickerAnimation 2s infinite ease-in-out;
-o-animation: flickerAnimation 2s infinite ease-in-out;
animation: flickerAnimation 2s infinite ease-in-out;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .placeholder {
background: #fbfbfb;
width: 100%;
height: 100%;
border: 1px solid #dfdfdf;
white-space: nowrap;
2016-03-11 00:48:53 +00:00
2019-09-12 14:11:32 +00:00
-webkit-animation: flickerAnimation 2s infinite ease-in-out;
-moz-animation: flickerAnimation 2s infinite ease-in-out;
-o-animation: flickerAnimation 2s infinite ease-in-out;
animation: flickerAnimation 2s infinite ease-in-out;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .placeholder > .columns {
width: 100%;
height: 100%;
display: inline-block;
background: linear-gradient(90deg, #d5d5d5 0px, rgba(0,0,0,0) 1px) 0 0,
linear-gradient(rgba(0,255,0,0) 19px, #d5d5d5 20px) 0 0,
linear-gradient( #f1f1f1 0px, #f1f1f1 20px) 0 0 repeat-x;
background-size: 80px 20px;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
.loadmask > .placeholder > .columns:first-child {
background: linear-gradient(#f1f1f1 19px, #d5d5d5 20px) 0 0;
background-size: 20px 20px;
width: 35px;
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
@keyframes flickerAnimation {
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
@-o-keyframes flickerAnimation{
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
2016-03-11 00:48:53 +00:00
}
2019-09-12 14:11:32 +00:00
@-moz-keyframes flickerAnimation{
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
}
@-webkit-keyframes flickerAnimation{
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
2016-03-11 00:48:53 +00:00
}
</style>
2017-07-04 15:15:09 +00:00
2016-03-11 00:48:53 +00:00
<script>
2016-09-15 12:59:06 +00:00
var userAgent = navigator.userAgent.toLowerCase(),
check = function(regex){ return regex.test(userAgent); },
stopLoading = false;
if (!check(/opera/) && (check(/msie/) || check(/trident/))) {
var m = /msie (\d+\.\d+)/.exec(userAgent);
2018-02-20 10:45:35 +00:00
if (m && parseFloat(m[1]) < 10.0) {
2016-09-15 12:59:06 +00:00
document.write('<div class="app-error-panel">' +
'<div class="message-block">' +
'<div class="message-inner">' +
'<div class="title">Your browser is not supported.</div>' +
'<div class="text">Sorry, Spreadsheet Editor is currently only supported in the latest versions of the Chrome, Firefox, Safari or Internet Explorer web browsers.</div>' +
'</div>' +
'</div></div>');
stopLoading = true;
}
2019-04-29 15:03:21 +00:00
} else
if (check(/windows\snt/i)) {
var re = /chrome\/(\d+)/i.exec(userAgent);
2019-05-07 08:54:00 +00:00
if (!!re && !!re[1] && !(re[1] > 49)) {
2019-04-29 15:03:21 +00:00
setTimeout(function () {
document.getElementsByTagName('body')[0].className += "winxp";
},0);
}
2016-09-15 12:59:06 +00:00
}
2016-03-11 00:48:53 +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],
2019-09-12 14:11:32 +00:00
logo = params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : null;
2016-03-11 00:48:53 +00:00
2016-12-14 11:20:18 +00:00
window.frameEditorId = params["frameEditorId"];
2017-07-04 15:15:09 +00:00
</script>
2016-03-11 00:48:53 +00:00
2017-07-04 15:15:09 +00:00
<link rel="stylesheet" type="text/css" href="../../../../sdkjs/cell/css/main.css"/>
<link rel="stylesheet" type="text/css" href="../../../apps/spreadsheeteditor/main/resources/css/app.css">
</head>
<body>
2019-09-12 14:11:32 +00:00
<div id="loading-mask" class="loadmask"><div class="brendpanel"><div><div class="loading-logo"><img src="../../common/main/resources/img/header/header-logo.png"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="spacer"></div><div class="rect"></div></div><div><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span><div class="spacer"></div><span class="circle"></span><span class="circle"></span><span class="circle"></span></div></div><div class="placeholder"><div class="columns"></div><div class="columns"></div></div></div>
<div id="viewport"></div>
<script>
if (stopLoading) {
document.body.removeChild(document.getElementById('loading-mask'));
} else {
var elem = document.querySelector('.loading-logo img');
if (elem) {
logo && (elem.setAttribute('src', logo));
elem.style.opacity = 1;
}
}
</script>
2017-07-04 15:15:09 +00:00
<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;
};
var requireTimeoutID = setTimeout(function(){
window.alert(window.requireTimeourError());
window.location.reload();
}, 30000);
var require = {
waitSeconds: 30,
callback: function(){
clearTimeout(requireTimeoutID);
}
2016-03-11 00:48:53 +00:00
};
</script>
2018-01-25 13:48:40 +00:00
<inline src="resources/img/header/buttons.svg" />
2018-04-17 12:07:30 +00:00
<inline src="resources/img/doc-formats/xlsx.svg" />
2019-02-21 13:10:37 +00:00
<inline src="resources/img/doc-formats/xltx.svg" />
2018-04-17 12:07:30 +00:00
<inline src="resources/img/doc-formats/pdf.svg" />
2018-07-18 11:07:24 +00:00
<inline src="resources/img/doc-formats/pdfa.svg" />
2018-04-17 12:07:30 +00:00
<inline src="resources/img/doc-formats/ods.svg" />
2019-02-21 13:10:37 +00:00
<inline src="resources/img/doc-formats/ots.svg" />
2018-04-17 12:07:30 +00:00
<inline src="resources/img/doc-formats/csv.svg" />
<inline src="resources/img/doc-formats/blank.svg" />
2019-04-01 13:10:35 +00:00
<inline src="resources/img/toolbar/shapetypes.svg" />
2017-05-04 12:40:15 +00:00
2016-03-11 00:48:53 +00:00
<script data-main="app" src="../../../vendor/requirejs/require.js"></script>
</body>
</html>