我正在制作新版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>
答案 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>
。