HTML Диалог не закрывается в общей таблице в Google Scripts - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть электронная таблица, в которой есть функция для вызова диалога HTML для выбора некоторых дат:

htmlDate =  HtmlService.createHtmlOutputFromFile('datePicker')
    .setHeight(120)
    .setWidth(550);

SpreadsheetApp.getUi().showModalDialog(htmlDate, 'Select the dates for presentation:');

Это часть кода HTML, которая определяет действия кнопок в datePicker. . html:

<input type="button" onClick="submitForm()" value="OK" />
<input type="button" onClick=google.script.host.close() value="Cancel" />

И это часть кода HTML, который вызывает мою функцию 'newPresentation':

<script type="text/javascript">    
    function submitForm() {

      google.script.run.newPresentation(document.forms[0]);
      Utilities.sleep(1000);
      google.script.host.close();

    }        
</script>

Проблема заключается в следующем: Когда я запускаю сценарий, работает отлично. Сначала он вызывает мою функцию newPresentation, а затем закрывает сам себя, запуская оставшуюся часть скрипта. В функции 'newPresentation' есть другие диалоговые окна HTML, которые вызываются.

Но когда другой пользователь запускает скрипт, это диалоговое окно HTML не закрывается. Даже если он не закрывается, остальная часть сценария выполняется нормально. Я уже поделился таблицей с другим пользователем с правами редактирования. И я, и другой пользователь вошли в учетную запись Google.

Есть идеи, как решить эту проблему?

PS. Извините за некоторые грамматические ошибки, но я не свободно владею английским языком. sh.

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Попробуйте это:

google.script.run
.withSuccessHandler(function(){google.script.host.close();})
.newPresentation(document.forms[0]);

и поместите возврат в конце newPresentation ();

Другая возможность состоит в том, чтобы попробовать использовать фиктивный диалог, описанный здесь: { ссылка }

0 голосов
/ 09 апреля 2020

Я не уверен в причине возникновения этой проблемы. Во всех моих тестах я использовал один и тот же компьютер с двумя windows Google Chrome (по одному для каждого пользователя, вошедшего в систему). Я не могу решить проблему.

После этого я проверил на новом компьютере, в который вошел один пользователь, и скрипт работает отлично.

По-видимому, могут быть некоторые проблемы связано с кешем в браузере или чем-то еще Я действительно не знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...