我正在尝试在另一个侧边栏中调用另一个侧边栏,以在Google文档中创建一种选项卡式界面。我无法弄清楚如何调用在当前侧边栏的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);
}
谷歌上的文档涉及通过“input type =”按钮“...”调用按钮,但这会影响我的样式。此外,他们总是在javascript“script”标签内调用脚本。有没有什么方法可以将按钮路由到指向服务器的html文件中的javascript事件?
感谢您的帮助!任何人都表示赞赏。
答案 0 :(得分:1)
你的代码对我来说很好。
IFRAME沙盒模式是新的,有一些错误,请尝试将其删除或设置为NATIVE。
如果您看到执行记录,如果您能找到任何错误,请分享。
干杯。
PS:对不起,我知道这应该作为评论插入,但是还没有声名鹊起:(
答案 1 :(得分:0)
您无需直接通过按钮调用.gs
脚本。您可以使用此配置。
<div id='menu'>
<button class="action" id="settings" onClick="fncShowSettings()">Settings</button>
</div>
<script>
window.fncShowSettings=function(){
console.log("fncShowSettings ran");
google.script.run
.showSettings(); //Runs server side .gs function
</script>
function showSettings() {
Code here . . .
return someValue;
};
我不清楚你在问什么,所以如果这没有帮助,只需发表评论。