Google App Script引入CSS/JS失效,显示include代码求助
问题排查与修复
问题出在openSidebar函数的HTML输出创建方式上:
- 你当前使用
HtmlService.createHtmlOutputFromFile('page'),这个方法只会直接读取page.html的原始内容,不会解析其中的<?!= include('stylesheet'); ?>这类模板指令,导致这些代码被当作纯文本显示,样式和脚本自然无法生效。 - 正确的做法是使用模板引擎,通过
createTemplateFromFile创建模板对象,再调用evaluate()执行模板中的脚本,替换掉include指令的内容。
修改后的openSidebar函数
function openSidebar() { var htmlOutput = HtmlService.createTemplateFromFile('page') .evaluate() .setTitle('Dashboard'); SpreadsheetApp.getUi().showSidebar(htmlOutput); }
验证其他代码
你的其他部分代码都是正确的:
include函数能正确读取并返回样式/脚本文件的内容page.html中的<?!= include('...'); ?>语法符合Google Apps Script模板规则stylesheet.html和javascript.html的内容格式没有问题
修改后重新运行openSidebar,侧边栏会正常解析样式和脚本,不会再显示模板指令文本。
内容的提问来源于stack exchange,提问作者Shiv Yadav
相关产品推荐
相关产品推荐

