alb*_*hin 3 javascript modal-dialog google-sheets google-apps-script google-spreadsheet-api
当我showModalDialog()从电子表格应用程序关闭模态对话框(打开使用)时,我想做点什么.
但是我无法在Google提供的API文档中找到此类事件的参考.我发现了如何在警报框中捕获此事件,并且通过使用这段代码,我可以捕获用户关闭警报框的方式,但我不能在模态对话框或无模式对话框中使用它.
有没有办法做到这一点?如果你这样做,请回答.
这是不是可能的.你应该以一种无关紧要的方式编写脚本.例如,通过在对话框中显示一个大动作按钮,向用户明确说明他必须单击该按钮才能继续执行脚本.
但是如果你真的想要实现这一点,我猜你可以使用一个HtmlService对话框,对后端进行定期异步调用,每个调用在退出之前等待下一个调用,然后如果"下一个"调用没有及时到达,它可以假设对话框已关闭并执行您的关闭程序而不是简单地退出.
这是一个替代解决方案。您可以在 HTML 中使用 google 托管的 jquery(由 GAS 提供)来跟踪页面关闭时的卸载事件。这是一些示例代码:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<!-- page content -->
</body>
<!-- Minified google hosted jquery (see https://developers.google.com/speed/libraries/)-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- And here's where the magic happens -->
<script type="text/javascript">
$(document).ready( e => {
console.log('-- DOM ready --');
/** Add jquery unload listener */
$(window).on('unload', e => {
console.log("Invoked just before unload");
// do pre-unload stuff
});
});
</script>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1520 次 |
| 最近记录: |