我无法让基于 Apps 脚本的 HTML 包含任何脚本。
My doGet
函数为HtmlService
工作正常:
function doGet() {
return HtmlService.createHtmlOutputFromFile('myhtmlfilename');
}
无论我的 HTML 文件上是否有任何脚本标签,我似乎都会得到以下信息:
errors
我尝试将所有 JavaScript 存储在带有标签的单独 HTML 文件中(称为JavaScript.html
),然后使用强制打印脚本将它们包含回我的 HTML 中。
我的 HTML 文件包含我的脚本标签:
<script>
function transferItems(){
google.script.run.test();
}
</script>
我的功能是将脚本 HTML 作为 scriptlet 包含在内,我也尝试将其作为“getRawContent”而不是“evaluate”:
function include(filename) {
return HtmlService.createTemplateFromFile(filename).evaluate().getContent();
}
我的脚本:
<?!= include('JavaScript'); ?>
我的 code.gs 中的函数名为test()
:
function test() {
alert("This is a test.");
}
我的 HTML 主页面中的按钮,我试图通过它调用test()
功能:
<button onClick="transferItems()">Transfer</button>
无论我尝试什么,我的页面最终都会在浏览器中将这些 scriptlet 显示为文本。
显示结果
我缺少什么?
我读过的所有答案和教程都是 2015 年或更早的。
我觉得我正在关注谷歌的文档。