2016-08-12 3 views
0

Я пытаюсь закрыть немодальную диалог, который я открыл со следующим:google.script.host.close, чтобы закрыть диалоговое окно, не работает

var html = HtmlService.createHtmlOutputFromFile('dialog') 
.setSandboxMode(HtmlService.SandboxMode.IFRAME) 
.setWidth(150) 
.setHeight(150); 
DocumentApp.getUi().showModelessDialog(html, 'Help'); 

Диалог HTML выглядит следующим образом

<!DOCTYPE html> 
    <html> 
    <head> 
    <base target="_top"> 
    </head> 
    <body> 
    Working on it... 
    </body> 
</html> 

Теперь я хочу закрыть диалог, но я не могу заставить его работать. Это то, что у меня есть.

var html = HtmlService.createHtmlOutputFromFile('close'); 

И близко HTML выглядит следующим образом:

<!DOCTYPE html> 
<html> 
    <head> 
    <base target="_top"> 
    <script> 
     google.script.host.close(); 
    </script> 
    </head> 
    <body> 
    </body> 
</html> 

Я попытался google.script.host.close с '()' и без. Любые идеи, что я делаю неправильно?

Спасибо за ваше время!

+1

Таким образом, отображается изображение "close.html"? Вы можете попробовать изменить код на 'window.onload = function() {google.script.host.close();}' Я предполагаю, что вы хотите закрыть close.html, как только он будет открыт? –

ответ

0

Это довольно легко исправленная проблема, насколько я могу судить. Вы не хотите создавать новый HTML-файл, чтобы закрыть старый, вы хотите закрыть первый. Что вы должны сделать, так это.

Сначала откройте свой диалог, как вы делали.

Во-вторых, положить host.close() в функции внутри вашего help.html:

function closeHelp() { 
    google.script.host.close(); 
}; 

Тогда просто найти где-нибудь, чтобы закрыть его. Обычно я просто нажимаю кнопку в нижней части любого диалогового окна.

<button onclick="closeHelp()"> Close </button> 

Это закроет ваше окно.

Смежные вопросы