【发布时间】:2020-06-11 02:37:59
【问题描述】:
我遵循了代码 sn-ps 和 https://developers.google.com/apps-script/guides/html/communication#index.html 给出的指示
并在我的脚本项目中添加了以下代码:
代码.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function doSomething() {
Logger.log('I was called!');
}
索引.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
google.script.run.doSomething();
</script>
</head>
</html>
但是我的函数doSomething 没有被调用。这是一个全新的 google 脚本项目,我已经开始并将其发布为网络应用程序。
我在this 线程和this 线程中看到了类似的问题。我已经尝试了那里提到的措施,但仍然面临这个问题。另外,我看到那里没有接受的答案,所以再次发布这个问题。我不知道如何让这些问题重获新生。
谢谢, 穆克什
【问题讨论】:
-
我会这样做:
<!DOCTYPE html><html><head><base target="_top"><script>window.onload=function(){google.script.run.doSomething();}</script></head><body></body></html> -
您是否使用浏览器发出了get?你授权脚本了吗?
-
我认为在您的脚本中,当 Web 应用程序反映最新脚本时,
doSomething()有效。您可以在“查看”->“日志”->打开脚本编辑器的“Apps Script Dashboard”链接看到google.script.run.doSomething()的doSomething()的日志。在这种情况下,登录脚本编辑器会显示“在此编辑器会话中没有运行任何功能。”。但是您可以分别在“Apps Script Dashboard”中的“doSomething”和“Web App”的功能和类型中看到它。那你能再确认一下吗? -
正如@Cooper 所建议的,我将使用
onLoad属性来确保正确执行。但是您的代码应该按原样执行。查看您项目的日志并查看是否已记录事件。 -
@Cooper,您是否建议 Google 网站上提供的代码不完整,我应该添加 window.onload?它是强制性的吗?是的,我确实遇到了浏览器问题。我使用“发布-> 部署为网络应用程序”,然后点击给出的网址。