我正在尝试在不同的侧边栏中调用另一个侧边栏,以在谷歌文档中创建一种选项卡式界面。我不知道如何调用在当前侧边栏的html文件中显示新侧边栏的服务器端函数。
这是我的 html 侧边栏按钮布局...(不起作用)
<div id='menu'>
<button class="action" id="functions_nav">Functions</button>
<button class="action" id="navbar">NavBar</button>
<button class="action" id="settings" onClick="google.script.run.showSettings()">Settings</button>
</div>
和我的 gs 文件...
function showSettings() {
var html = HtmlService.createHtmlOutputFromFile('settings')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('DebateDocs')
.setWidth(300);
DocumentApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
谷歌上的文档处理通过"输入类型="按钮"调用按钮..."但是这会搞砸我的造型。此外,他们总是调用javascript"script"标签中的脚本。有没有办法将按钮路由到指向服务器的 html 文件中的 javascript 事件?
感谢您的帮助!任何都是值得赞赏的。
你的代码对我来说工作正常。
IFRAME 沙盒模式是新的,有一些错误,请尝试将其删除或设置为 NATIVE。
另外,如果您看到执行记录,请分享您是否发现任何错误。
干杯。
PS:对不起,我知道这应该作为评论插入,但还没有声誉来这样做:(
无需直接从按钮调用.gs
脚本。 您可以使用此配置。
按钮
<div id='menu'>
<button class="action" id="settings" onClick="fncShowSettings()">Settings</button>
</div>
HTML 脚本标记
<script>
window.fncShowSettings=function(){
console.log("fncShowSettings ran");
google.script.run
.showSettings(); //Runs server side .gs function
</script>
Code.gs
function showSettings() {
Code here . . .
return someValue;
};
我不清楚你在问什么,所以如果这没有帮助,请发表评论。