Работаю в битриксе. Там используются google таблицы. При открытии документа, он по умолчанию открывается в новом окне. У окна вечно небольшой экранчик и при работе необходимо его вручную расширять. Хочу на событие onOpen()
повесить код для увеличения окна на весь экран (ну или настроить на определённые проценты). Копаю в сторону ф-ии window.open()
на JS. Сам я на нынешнем этапе совершенно незнаком с html и JS. Пытаюсь запустить примерно так:
в CODE.gs
:
function onOpen(){
void WorkDo();
}
function WorkDo(){
// var html = HtmlService.createHtmlOutputFromFile('Index444');
// SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
// .showSidebar(html);
// return SpreadsheetApp.getUi().showSidebar(HtmlService.createHtmlOutputFromFile('Example1'));
return HtmlService.createHtmlOutputFromFile('Example1');
}
function doSomething(arrg) {
Browser.msgBox(arrg);
}
в Example1.html
:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
Win2 = window.self;
Win2.resizeTo(100, 100);
<!--google.script.run.doSomething(123);-->
</script>
</head>
</html>
Почему-то, непосредственно код в html выполняется только тогда, когда я выполняю его через showSidebar
. Не пойму почему.
Ну и собственно, даже если я запускаю его через Sidebar
, сама настройка размера экрана не происходит. Предполагаю, что window.self
в этом случае - то окошко Sidebar
. Поэтому не пойму, как мне так запустить html через само окошко документа, чтобы я смог потом на него сослаться и собственно настроить размеры окна в котором он открылся.
Если это совершенно не правильный путь, скажите, пожалуйста, куда копать?
Вы не сможете получить доступ к изменению размера родительского окна, т.к. скрипты исполняются в своих фреймах на своих хостах. Браузер будет препятствовать доступу к своему API Same-origin policy
В Таблицах используются Bound to Google Apps скрипты. Таким образом требуется использование текущего экземпляра интерфейса SpreadsheetApp.getUi()
function onOpen() {
void workDo();
}
function workDo() {
var userInterface = HtmlService.createTemplateFromFile('app').evaluate();
// showModelessDialog() - метод расширения текущего ui, такой же как showSidebar()
SpreadsheetApp.getUi().showModelessDialog(userInterface, 'title');
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
var top = window.top;
console.log(top);
top.resizeTo(150, 150);
</script>
</body>
</html>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть карта на ней есть функция которая отображает имя или еще что-тоНо чтоб отобразилось окно маркера , надо на него нажжать
Подскажите где искать UTM метки у страницы? Мне говорят что достаточно зайти на сайт с Гугла или Яндекса, и тогда UTML метки якобы должны наличествоватьНо...