在我的Google Docs应用程序脚本中,我正在尝试将ModalDialog转换为DialogBox,以便我可以利用DialogBoxes上的addCloseHandler()。
我的showModalDialog使用以下GS代码:
function showSheetPicker() {
var html = HtmlService.createTemplateFromFile('sheetPicker').evaluate().
setHeight(400).setWidth(600);
DocumentApp.getUi().showModalDialog(html, "Select a Sheet");
}
但是,当我尝试将其转换为使用createDialogBox()时,我提出了以下内容:
function showSheetPicker() {
var app = UiApp.createApplication();
var autoHide = false;
var modal = true;
var dialog = app.createDialogBox(autoHide, modal);
dialog.setPopupPosition(100, 100).setSize(650, 450).setHTML(html)
.setTitle("Select a Sheet").createCloseHandler(handlingTheClose).show();
return app;
}
这会产生错误,告诉我:The script completed but the returned value is not a supported return type..
将ModalDialog转换为DialogBox需要做些什么才能利用addCloseHandler()?
答案 0 :(得分:0)
这是一个显示dialogBox的文档示例,但结果非常令人失望......
function myFunction() {
var app = UiApp.createApplication();
var autoHide = false;
var modal = true;
var dialog = app.createDialogBox(autoHide, modal);
dialog.setPopupPosition(100, 100).setSize(650, 450)
.setTitle('hover me').setHTML('this is a test dialog');
app.add(dialog).setHeight(450).setWidth(650);
DocumentApp.getUi().showModelessDialog(app, "Select a Sheet")
}
我从未成功使用过这个小部件......祝你好运。
至于closeHandler,我怀疑你可以使用它,因为你无法关闭内部对话框,你将在这个例子中关闭ModelessDialog ...(再次祝你好运......我放弃了; - )