对话框的示例代码什么都不做

时间:2013-06-16 12:10:05

标签: google-apps-script

我开了一个新问题:example code of dialog box makes a mess

我正在尝试在https://developers.google.com/apps-script/reference/ui/dialog-box

中运行该示例
function doGet() {
    var app = UiApp.createApplication();
    // Create a dialog box.
    var dialog = app.createDialogBox();
    // Add a label to the dialog and set the dimensions and position.
    dialog.setPopupPosition(100, 100).setSize(500, 500).show();
    // Show the dialog. Note that it does not have to be "added" to the UiInstance.
    dialog.show();
    return app;
}

没有任何反应。我错过了什么?

修改

我不知道部署为webapp的必要性,但现在我还有另一个问题 在运行上面的代码作为webapp我得到: that whats happens

这次我错过了什么?

2 个答案:

答案 0 :(得分:1)

您是否阅读过有关deploying a webapp的文档,这适用于作为独立应用程序运行的所有类型的Web应用程序。 要运行此示例,您需要保存一个版本并部署它以获取其工作网址。(还有一个特殊的'dev'网址来测试代码的最新版本。enter image description here

这是此演示的网址,我在其中添加了一些详细信息:link

这是演示代码:

function doGet() {
    var app = UiApp.createApplication().setTitle('dialogBoxTest');
    var abs = app.createAbsolutePanel().setWidth('100%').setHeight('100%');
    abs.add(app.createLabel('demo test').setStyleAttributes({'fontSize':'25pt','padding':'30px'}));
    app.add(abs);
    // Create a dialog box.
    var dialog = app.createDialogBox(true,true).setHTML('DialogBox').setAnimationEnabled(true);
    // Add a label to the dialog and set the dimensions and position.
    dialog.add(app.createLabel('hello world'));
    dialog.setPopupPosition(100, 100).setSize(100, 100);// no need to call show() twice as in the example ...
    // Show the dialog. Note that it does not have to be "added" to the UiInstance.
    dialog.show();
    return app;
}

那说(并且严格地说在我看来)这个小部件非常难看...... ;-) popups可以用一些styleAttributes更好看。

答案 1 :(得分:0)

你什么都不缺。您所说的代码示例直接来自Google为Google Apps脚本提供的在线文档中的副本。

根据Serge insas的建议,事实上创建了一个问题2是2917和2097号码已被接受,官方解决方案仍在进行中。虽然有人声称CreateDialogBox方法创建的对话框在设置大小时会出现渲染问题。看到这个评论:

https://code.google.com/p/google-apps-script-issues/issues/detail?id=2907#c1

因此,您可以在对话框中创建一个元素,以强制对话框达到特定大小:

代码示例:

function DialogBoxPopUp(){

  // Gets the active UiInstance.
  var app = UiApp.getActiveApplication();

  var dialog = app.createDialogBox();

  dialog.setPopupPosition(150, 150)
  //.setSize(500, 500)
  //instead create an element inside the DialogBox that is the desired size.
  .setHTML('<div id="container" style="width:500px;height:500px">This is just one example</div>')
  .show();

  return app;
}

虽然这可能会出现其他看不见/未知的问题,但请检查您的工作。 PopupPanel也可以是一个选项,并且记录的示例有效。

https://developers.google.com/apps-script/reference/ui/popup-panel

这是另一个简单的示例,它提供了一种使用字幕面板自动提供某种样式的简单方法。

function MakePopupPanel(){

  // Gets the active UiInstance.
  var app = UiApp.getActiveApplication();

  var popUp = app.createPopupPanel();

  popUp.add(app.createCaptionPanel("caption panel in a popup"))
  .setWidth("100px").setHeight("100px")
  .setPopupPosition(100, 100);

  popUp.show();

  return app;
}