google-apps-script - Google 文档脚本中的侧边栏按钮 onClick 不会触发
问题描述
我正在尝试通过单击按钮来机械化调用 docs 脚本例程(请参阅此问题)。似乎唯一的方法是为文档创建一个餐具柜。
这是我的脚本:
function CreateSideBar ()
{
Logger.log ('CreateSideBar Entry')
var HTML = HtmlService.createHtmlOutput ('<button onClick="CallFromSidebarButton () ;">Do It!</button>').setTitle ('My Sidebar') ;
DocumentApp.getUi ().showSidebar (HTML) ;
Logger.log ('CreateSideBar Exit')
}
function onOpen()
{
CreateSideBar ()
}
function CallFromSidebarButton ()
{
var ui = DocumentApp.getUi () ;
ui.alert ('Call from sidebar OK') ;
}
如果我从脚本调试器调用它们,一切正常,但是如果我打开文档,侧边栏会创建 OK,但是当我单击按钮时没有任何反应。
检查显示:
userCodeAppPanel:1 Uncaught ReferenceError: CallFromSidebarButton is not defined
at HTMLButtonElement.onclick (userCodeAppPanel:1)
该文档在此处共享。您可能需要登录并同意一堆东西。
解决方案
要从客户端代码调用服务器端函数,您必须使用google.script.run
即替换
var HTML = HtmlService.createHtmlOutput ('<button onClick="CallFromSidebarButton () ;">Do It!</button>').setTitle ('My Sidebar') ;
经过
var HTML = HtmlService.createHtmlOutput ('<button onClick="google.script.run.CallFromSidebarButton () ;">Do It!</button>').setTitle ('My Sidebar') ;
资源
- https://developers.google.com/apps-script/guides/web
- https://developers.google.com/apps-script/guides/dialogs
- https://developers.google.com/apps-script/guides/html/communication
有关的
推荐阅读
- centos7 - 登录时如何`scl enable devtoolset-8 bash`?
- tensorflow - 无法加载 SavedModel
- javascript - 如何将一位整数转换为两位数 [Javascript]
- php - 使用foreach循环PHP将多维数组转换为POST调用
- javascript - 使用js插入html
- angular - Karma Jasmine 中的 Angular 单元测试接口:无法读取未定义的属性 *
- ssl - 如何在 Jetty 中使用 Windows 证书存储?
- reactjs - 错误的 Base-64 作为响应
- java - 无法使用 maven 创建 jmh 基准
- laravel - 用laravel迁移中的数据更改列中的数据类型