我正在创建一个与电子表格进行通信的Web应用程序 . 问题是,从HTML文件中,我使用 doGet()
和一个名为 doSomething()
的函数调用 .gs
文件中的函数 . 当我两次调用 doSomething
时,它只执行一次 .
我的HTML文件(称为 lolcatz.html
)
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
google.script.run.doSomething();
google.script.run.doSomething2();
google.script.run.doSomething();
console.log("Hi");
</script>
</body>
</html>
我的Google App脚本文件(名为 Code.gs
):
function doGet() {
var page = HtmlService.createHtmlOutputFromFile('lolcatz.html');
page.setTitle("Panther Time");
return page;
}
function doSomething() {
Logger.log('I was called!');
}
function doSomething2() {
Logger.log('I was called! Again!');
}
function doStuff() {
doSomething();
doSomething2();
}
日志输出:
[18-03-28 14:55:00:032 PDT] I was called!
当我转到Inspect Element的JavaScript控制台时, console.log
命令执行正常 .
我完全符合执行限制,并启用了Google App Script API和Google表格API .
1 回答
简答
每次从客户端调用服务器端函数时,Google Apps脚本Web IDE上的日志都会被清除,因为google.script.run会进行异步调用,因为它们是异步的,我们无法确定我们将在日志 . 如果要保留日志,请使用
console.log
而不是conLogger.log
.测试
要测试客户端代码如何与使用Logger的服务器端代码交互,请尝试以下方法:
lolcatz.html
Code.gs
打开Web App后
执行记录
从视图>执行记录
日志
从视图>日志
通过console.log更改Logger.log
通过console.log更改Logger.log后,再次打开Web应用程序(或刷新选项卡)
从视图>堆栈驱动程序日志记录