0

我对 Google Apps Script 网络应用程序有一点问题。以下脚本示例在其内部文档后可在 Web 应用程序中完美运行。但作为浏览器中的独立应用程序,我不断收到错误消息。请问如何使“Browser.msgBox(提示)”在浏览器中工作?

如果您想查看错误消息,可以在此处访问该应用程序。

// Script-as-app template.
function doGet() {
var app = UiApp.createApplication();

var button = app.createButton('Click Me');
app.add(button);

var label = app.createLabel('The button was clicked.')
             .setId('statusLabel')
             .setVisible(false);
app.add(label);

var handler = app.createServerHandler('myClickHandler');
handler.addCallbackElement(label);
button.addClickHandler(handler);

return app;
}

function myClickHandler(e) {
var app = UiApp.getActiveApplication();

var label = app.getElementById('statusLabel');
label.setVisible(true);

Browser.msgBox("hello world");//THIS  IS MY PROBLEM!!!

 app.close();
 return app;
 }
4

2 回答 2

2

Browser.msgBox(prompt)仅当应用程序显示为对话框时才有效,例如在 Google 电子表格中。无法在独立的 web 应用程序中暂停脚本执行。

app.close()也不能正常工作-您只是无法在服务器端的客户端浏览器上关闭独立的 UI。

您可以使用PopUpPanel在 Web 应用程序中实现 msgBox 功能,但请记住,每个回调都以您的应用程序的新实例开始。

于 2013-05-30T04:34:57.123 回答
1

事实证明,这个Browser.msgBox(prompt)名字很糟糕。唯一受支持的地方是容器绑定脚本(不是独立的 Web 应用程序),并且仅当容器是电子表格时。

在 UI 服务中,您在 IDE/编辑器之外运行 - 您可能对本教程感兴趣,该教程描述了在该环境中调试的一种方法。

于 2013-05-30T04:00:51.660 回答