如何制作JQuery通知弹出窗口(如Toast)出现在App Script沙箱模式之外?

时间:2014-04-11 02:57:35

标签: google-apps-script

我正在制作新版Google电子表格的附加组件,我有一个过程需要几秒钟,我想向用户显示一个通知弹出窗口。但我希望它出现在谷歌创建的模式沙箱之外(见下图) - 这意味着我希望谷歌沙箱模型根本不可见 - 只有我的弹出窗口。

我不确定如何使用HTML服务。

我知道我在Solve360 CRM Add-Ons(新的Google电子表格)上看到它是可行的。他们有像沙漠消息一样的沙漏弹出,但是自定义。

这是我在新的Google电子表格中进行测试的代码:

function test_modal() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var html = HtmlService.createHtmlOutputFromFile('toastr').setSandboxMode(HtmlService.SandboxMode.NATIVE);
  ss.show(html);  
}

使用的HTML文件:

我正在使用名为toastr.js的JQuery Notification(但可以是任何)。

<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/toastr.js/2.0.1/css/toastr.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/2.0.1/js/toastr.min.js"></script>
<script>
  $(function () {
    toastr.warning('This is a test warning toast pop-up')
  });
</script>

JQuery Popup

1 个答案:

答案 0 :(得分:0)

您可以使用SpeadsheetApp.getActiveSpreadsheet().toast()在右下角发送通知。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#toast%28String%29

文档示例:

// Show a popup with the message "Task started".
SpreadsheetApp.getActiveSpreadsheet().toast('Task started');

任何jQuery解决方案都无法工作,因为它们会在沙箱中创建<div>