javascript - 在 Google Script Web 应用程序上向用户确认工作表更新
问题描述
因此,我正在开发一个基本系统,当在 Google Scripts 上托管的 Web 应用程序上单击一个按钮时,该系统将向特定单元格添加一个值。到目前为止,我的按钮正在工作,它调用了一个看起来像这样的函数:
function increment(cell) {
var range = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange(cell);
range.setValue(range.getValue() + 1);
}
它按应有的方式添加,但我希望该函数向用户返回一些内容以确认它已添加到 Google 表格中。我在想在页面的顶部,要么在中间,要么在右边。这可能吗?
为了更详细一点,我更愿意从长远来看使用 Bootstraps 警报格式之类的东西,以使其更容易,但在这一点上,我只想让它显示给用户,然后我可以处理让它以后看起来不错。
任何建议都将不胜感激,因为我觉得我遇到了困难,因为在用户按下按钮后我无法显示代码。Google 是否不允许在页面加载后将 HTML 添加到页面中?
我的另一个想法是对刚刚隐藏然后由函数显示然后在一段时间后重新隐藏的页面进行可变加载,但是我很难从在线信息中找到一种方法来做到这一点。
欢迎所有建议,提前谢谢!
解决方案
更新
单击按钮后更新页面的方法是使用 WebApp 本身的和(withSuccessHandler(function)
参考)。所以基本上你所做的就是从前端的 JavaScript 修改页面。在参考资料中,您可以看到以下示例:withFailureHandler(function)
google.script.run
Code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getUnreadEmails() {
return GmailApp.getInboxUnreadCount();
}
Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onSuccess(numUnread) {
var div = document.getElementById('output');
div.innerHTML = 'You have ' + numUnread
+ ' unread messages in your Gmail inbox.';
}
google.script.run.withSuccessHandler(onSuccess)
.getUnreadEmails();
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
如您所见,页面本身被动态调用函数的结果修改。您还可以使用任意数量的常规基于 Web 的库。
原始答案(在电子表格中显示)
您可以在类中使用警报弹出窗口或侧边栏Ui
。另一种选择是使用电子表格的第一行作为消息栏:合并所有第一行,然后您可以动态设置格式和消息。
参考
推荐阅读
- angular - Angular 6中服务类和打字稿类之间的区别
- python - 用 python 自动化无聊的东西 - google search via beautiful soup 4
- javascript - Gulp - 每次在 .html 上应用 gulp-version-number 插件,它永远不会改变
- c# - 如何修复 C# 中的错误“远程过程调用失败” - 连接到扫描仪
- python - 未使用的变量“i”pylint(未使用的变量)
- uwp - 如何更改申请量
- ios - 应用程序打开时如何获得推送通知?
- apache-kafka - 调整 kafka 流以提高速度
- android - java.io.IOException:找不到主 [动态功能模块] 的 PROCESSED_RES 输出
- asp.net-core - 在 dotnet core 中向 UserPrincipal 的请求添加声明