我有一个Google App脚本,通过单击工作表上的浮动图像来执行。
如何在第一次执行完成之前阻止人们运行脚本AGAIN?
您似乎可以通过单击图像多次执行脚本,并且后续执行与之前的执行冲突并导致错误结果。
我会暂时将脚本与浮动图像取消关联,然后在运行a然后在退出脚本之前将其恢复,但我似乎无法找到操纵浮动图像属性的方法。
答案 0 :(得分:3)
对于客户端处理,您可以为变量赋值以标识函数的状态。
<强>的index.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>
<强> code.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;
}
您还可以使用Lock Service阻止脚本进行并发访问。
function test_func(){
var lock = LockService.getScriptLock();
lock.waitLock(15000);
//Some operations
lock.releaseLock();
}