diff --git a/css/editor.css b/css/editor.css index 8ef19922..d2533d7d 100644 --- a/css/editor.css +++ b/css/editor.css @@ -23,6 +23,9 @@ #body-public #content { height: 100%; } +#content-wrapper #content { + height: calc(100dvh - 45px); +} .AscDesktopEditor #header { display: none; diff --git a/js/editor.js b/js/editor.js index 512df2a0..9e2c44bb 100644 --- a/js/editor.js +++ b/js/editor.js @@ -99,6 +99,10 @@ OCA.Onlyoffice.showMessage(config.error, {type: "error"}); return; } + OCA.Onlyoffice.device = config.type; + if (OCA.Onlyoffice.device === "mobile") { + OCA.Onlyoffice.resizeEvents(); + } var docIsChanged = null; var docIsChangedTimeout = null; @@ -267,6 +271,8 @@ if (OCA.Onlyoffice.version > 0) { OCA.Onlyoffice.onRequestHistory(OCA.Onlyoffice.version); } + + OCA.Onlyoffice.resize(); }; OCA.Onlyoffice.onRequestSaveAs = function (event) { @@ -661,6 +667,31 @@ OCA.Onlyoffice.docEditor.refreshHistory(data); } + OCA.Onlyoffice.resize = function () { + if (OCA.Onlyoffice.device !== "mobile") { + return; + } + + var headerHeight = $("#header").length > 0 ? $("#header").height() : 45; + var wrapEl = $("#app>iframe"); + if (wrapEl.length > 0) { + wrapEl[0].style.height = (screen.availHeight - headerHeight) + "px"; + window.scrollTo(0, -1); + wrapEl[0].style.height = (window.innerHeight - headerHeight) + "px"; + } + }; + + OCA.Onlyoffice.resizeEvents = function() { + if (window.addEventListener) { + if (/Android/i.test(navigator.userAgent)) { + window.addEventListener("resize", OCA.Onlyoffice.resize); + } + if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) { + window.addEventListener("orientationchange", OCA.Onlyoffice.resize); + } + } + }; + $(document).ready(OCA.Onlyoffice.InitEditor); })(jQuery, OCA);