Javascript gs函数的定义是当您从html代码调用函数时?
我正在使用gs文件和html创建GasWeb应用程序,包括脚本标记和jQuery。 当我执行下面的程序时① 或②, 然后③ 显示在浏览器上的每个①, ②. ①↓ ②↓ 下面是与一起使用的常见html文件① 及② 问题:gs函数的定义是当您从html代码调用函数时?(我可以从html在gs文件中使用closer吗? 多谢各位Javascript gs函数的定义是当您从html代码调用函数时?,javascript,google-apps-script,Javascript,Google Apps Script,我正在使用gs文件和html创建GasWeb应用程序,包括脚本标记和jQuery。 当我执行下面的程序时① 或②, 然后③ 显示在浏览器上的每个①, ②. ①↓ ②↓ 下面是与一起使用的常见html文件① 及② 问题:gs函数的定义是当您从html代码调用函数时?(我可以从html在gs文件中使用closer吗? 多谢各位 附言① 我希望浏览器上显示的“get=”和“count=”值相同。在gs文件中使用JavaScript的closer函数(换句话说,使用我在中编写的“closer”name
附言① 我希望浏览器上显示的“get=”和“count=”值相同。在gs文件中使用JavaScript的closer函数(换句话说,使用我在中编写的“closer”name函数)① 及②)
- 您希望检索以下结果
get = 4, count = 4 get = 3, count = 3 get = 2, count = 2 get = 1, count = 1
- 关于
closer()
- 由于没有参数,无法接收该值
- 只有当
为plusOr
时,1
才会运行++b
- 关于
success()
的初始值为vv
。因此,当反映上述修改时,在第一个循环中,1
的success(get)
为get
2
- 在
的if语句中,始终发送if(count<4){aa(1);}
1
success()
中修改脚本,如下所示
发件人:
HTML端:
var计数=0;
函数成功(get){
++计数;
document.getElementById(“wi”).insertAdjacentHTML(“afterend”,“p>get=“+get+”,count=“+count+””);
如果(计数<4){
aa(1);
}否则{
google.script.run.clearProperty();
}
}
aa(1);
功能aa(vv){
google.script.run.withSuccessHandler(成功).closer(vv);
}
参考资料:
-
- 在您的情况下,我认为缓存服务也可以使用
- 您希望检索以下结果
get = 4, count = 4 get = 3, count = 3 get = 2, count = 2 get = 1, count = 1
- 关于
closer()
- 由于没有参数,无法接收该值
- 只有当
为plusOr
时,1
才会运行++b
- 关于
success()
的初始值为vv
。因此,当反映上述修改时,在第一个循环中,1
的success(get)
为get
2
- 在
的if语句中,始终发送if(count<4){aa(1);}
1
success()
中修改脚本,如下所示
发件人:
HTML端:
var计数=0;
函数成功(get){
++计数;
document.getElementById(“wi”).insertAdjacentHTML(“afterend”,“p>get=“+get+”,count=“+count+””);
如果(计数<4){
aa(1);
}否则{
google.script.run.clearProperty();
}
}
aa(1);
功能aa(vv){
google.script.run.withSuccessHandler(成功).closer(vv);
}
参考资料:
-
- 在您的情况下,我认为缓存服务也可以使用
get
和count
值相同?get=4,count=4
,get=3,count=3
?是否希望get
和count
值相同?get=4,count=4,get=3,count=3
@容易いtayasui如果这个答案不是你想要的结果,请告诉我。我想修改它。非常感谢你的回答。为什么我们应该在“模式1:”中给外部函数(closerRe)加参数是因为如果我们想执行gs文件的程序,我们只能调用gs文件中的函数单元@容易いtayasui感谢您的回复。很遗憾,我无法理解您的回复。我可以问一下您当前的问题吗@容易いtayasui感谢您的回复。作为在Google Apps脚本端和HTML端之间使用值的一种方法,我认为还可以使用PropertiesService和CacheService。当使用PropertiesService时,该值可以保存到GAS项目中,您可以从PropertiesService获取值。我在回答中添加了示例脚本。Cou请确认一下好吗?如果这个示例可以帮助您了解Google应用程序脚本端和HTML端的脚本,我很高兴。非常感谢您给我提供有用的信息。它们将帮助我制作好的应用程序@容易いtayasui如果这个答案不是你想要的结果,请告诉我。我想修改它。非常感谢你的回答。为什么我们应该在“模式1:”中给外部函数(closerRe)加参数是因为如果我们想执行gs文件的程序,我们只能调用gs文件中的函数单元@容易いtayasui感谢您的回复。很遗憾,我无法理解您的回复。我可以问一下您当前的问题吗@容易いtayasui感谢您的回复。作为在Google应用程序脚本端和HTML端之间使用值的一种方法,我认为PropertiesServic
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<p id="wi"></p>
<script>
var count = 0;
function success(get){
++count;
document.getElementById("wi").insertAdjacentHTML("afterend","<p>get = " + get + ", count = " + count + "</p>");
if (count < 4){
aa(1);
}
}
aa(1);
function aa(vv){
google.script.run.withSuccessHandler(success).closer(vv);
}
</script>
</body>
</html>
get = 1, count = 4
get = 1, count = 3
get = 1, count = 2
get = 1, count = 1
get = 4, count = 4
get = 3, count = 3
get = 2, count = 2
get = 1, count = 1
var closerRe = function (){
var b = 0;
return function(plusOr){
Logger.log("plusor = " + plusOr);
if (plusOr == 1){
++b;
}
return b;
};
}();
var closerRe = function (x){
var b = x;
return function(plusOr){
Logger.log("plusor = " + plusOr);
++b;
return b;
}(x);
};
var closer = function closer(){
var b = 0;
return function(plusOr){
Logger.log("plusor = " + plusOr);
if (plusOr == 1){
++b;
}
return b;
};
}();
var closer = function closer(x){
var b = x;
return function(plusOr){
Logger.log("plusor = " + plusOr);
++b;
return b;
}(x);
};
document.getElementById("wi").insertAdjacentHTML("afterend","<p>get = " + get + ", count = " + count + "</p>");
if (count < 4){
aa(1);
}
document.getElementById("wi").insertAdjacentHTML("afterend","<p>get = " + (get - 1) + ", count = " + count + "</p>"); // modified
if (count < 4){
aa(get); // modified
}
function doGet(){
return HtmlService.createHtmlOutputFromFile("hello");
}
function clearProperty() {
PropertiesService.getScriptProperties().deleteProperty("b");
}
var closerRe = function (){
var prop = PropertiesService.getScriptProperties();
var value = prop.getProperty("b");
var b = value ? Number(value) : 0;
return function(plusOr){
Logger.log("plusor = " + plusOr);
if (plusOr == 1){
++b;
prop.setProperty("b", b);
}
return b;
};
}();
function closer(x){
var tmp = closerRe(x);
Logger.log("tmp = " + tmp);
return tmp;
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<p id="wi"></p>
<script>
var count = 0;
function success(get){
++count;
document.getElementById("wi").insertAdjacentHTML("afterend","<p>get = " + get + ", count = " + count + "</p>");
if (count < 4){
aa(1);
} else {
google.script.run.clearProperty();
}
}
aa(1);
function aa(vv){
google.script.run.withSuccessHandler(success).closer(vv);
}
</script>
</body>
</html>