首页 > 解决方案 > 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-apps-scriptweb-applicationsgoogle-docs

解决方案


要从客户端代码调用服务器端函数,您必须使用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') ;

资源

有关的


推荐阅读