Dr *_*mar 2 google-apps-script
我有一个通过单击工作表上的浮动图像来执行的 Google App 脚本。
如何防止人们在第一次执行完成之前再次运行脚本?
好像可以通过点击图片多次执行脚本,后面的执行和前面的有冲突,导致错误的结果。
我打算在脚本运行时暂时解除脚本与浮动图像的关联,然后在退出脚本之前恢复它,但我似乎无法找到一种方法来操作浮动图像的属性。
对于客户端处理,您可以为变量赋值以标识函数的状态。
索引.html
<!DOCTYPE html>
<html>
<body>
<img src="http://cdn.soulsplay.com/assets//listing/css/comments/submit-button-2.png" onclick="invokeSubmit();">
</body>
<script>
var image_clicked = 0;
function invokeSubmit(){
image_clicked ++;
if(image_clicked == 1){
alert("Processing");
google.script.run.withSuccessHandler(function(){
image_clicked = 0;
alert("done");
}).sleep_func();
}
}
</script>
</html>
Run Code Online (Sandbox Code Playgroud)
代码.gs
function doGet() {
var output = HtmlService.createTemplateFromFile('index').evaluate();
output.setSandboxMode(HtmlService.SandboxMode.IFRAME);
output.setTitle('App Script');
return output;
}
function sleep_func(){
Utilities.sleep(15000);
return;
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用Lock Service防止脚本并发访问。
function test_func(){
var lock = LockService.getScriptLock();
lock.waitLock(15000);
//Some operations
lock.releaseLock();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |