【发布时间】:2019-10-04 03:52:11
【问题描述】:
我正在为一个组织开发一个应用,他们经常使用 Google 表格,其中大约一半使用移动表格应用。
现在,如果它们更改了某些单元格的值,我希望有一个 UI 警报。这适用于桌面浏览器(Chrome PC、Firefox 等),但不适用于移动应用程序。我知道它不会工作,而且它弄乱了我的代码,因为在警报之后还有一些其他代码要执行,例如:
function showAlert(message) {
var ui = SpreadsheetApp.getUi();
var result = ui.alert(
'Please confirm',
message,
ui.ButtonSet.YES_NO);
// Process the user's response.
if (result == ui.Button.YES) {
// User clicked "Yes".
return true;
} else {
// User clicked "No" or X in the title bar.
return false;
}
}
function Test(){
if(showAlert("Are you sure?")){
Logger.log("User says yes");
}else{
Logger.log("No");
}
}
Google App Script 中函数的执行时间为 300 秒,虽然没有显示警报,但计时器继续等待用户输入。结果是脚本超时,没有执行其他代码,像这样:
如果有办法检测用户是否在移动设备上,我可以跳过警报,以便执行代码,类似这样
function Test(){
if( user not on mobile && showAlert("Are you sure?"){
Logger.log("User says Yes");
}
}
这可能吗?或者我可以等待 1 分钟,如果用户没有响应,跳过警报并继续其他代码?
【问题讨论】:
标签: google-apps-script mobile google-sheets google-sheets-api