2016-08-12 1 views
0

ich einen modalen Dialog zu schließen versuche, dass ich mit der folgenden geöffnet:google.script.host.close ein Dialogfeld zu schließen, nicht funktioniert

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

Der Dialog html wie folgt aussieht

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

Jetzt möchte ich den Dialog schließen, aber ich kann es nicht zum Laufen bringen. Das habe ich.

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

Und die enge html sieht wie folgt aus:

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

ich die google.script.host.close mit dem versucht haben '()' und ohne. Irgendwelche Ideen, was ich falsch mache?

Danke für Ihre Zeit!

+1

Wird also die Datei "close.html" angezeigt? Sie könnten versuchen, den Code in 'window.onload = function() {google.script.host.close();} zu ändern.' Ich vermute, dass Sie wollen, dass "close.html" geschlossen wird, sobald es geöffnet wird? –

Antwort

0

Dies ist ein ziemlich einfach behobenes Problem, soweit ich sehen kann. Sie möchten keine neue HTML-Datei erstellen, um die alte zu schließen, Sie möchten die erste schließen. Was Sie tun sollten, ist dies.

Zuerst öffnen Sie Ihren Dialog wie Sie es getan haben.

Zweitens setzen Sie Ihre host.close() in einer Funktion innerhalb Ihres help.html:

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

Dann, irgendwo um es zu schließen zu finden. Normalerweise mache ich einfach eine Schaltfläche am unteren Rand eines Dialogfeldes.

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

Dies wird Ihr Fenster schließen.

Verwandte Themen