我需要在HTMLOut之前修改doGet()中的html文件。但是html文件有<?!=include('css').getContent();?>
,无法执行,并成为HTML文本的一部分。感谢您的帮助?这是代码。
function doGet(e) {
var landingPage;
landingPage=e.parameter.page ||'index';
var html=HtmlService.createHtmlOutputFromFile(landingPage);
var content=html.getContent();
content=content.replace("%%ToBeChanged%%","New Value");
var html2=HtmlService.createTemplate(content);
return html2.evaluate()
.setTitle('testing Website')
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
}
这是项目中的index.html
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<title>TITLE</title>
<?!=HtmlService.createHtmlOutputFromFile('styleSheet').getContent(); ?>
<?!=HtmlService.createHtmlOutputFromFile('script').getContent(); ?>
</head>
<body>
<form>
<input type='text' value='##ToBeChanged##'>
</form>
</body>
</html>
答案 0 :(得分:0)
如果您只是尝试使用一些CSS和JavaScript加载页面。您不希望在HTML文档中调用HTMLService。试试这个 -
Code.gs -
function doGet() {
var template = HtmlService.createTemplateFromFile('LandingPage');
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename)
.getContent();
}
的index.html -
<head>
<?!= include("StyleSheet"); ?>
</head>
请注意,doGet函数说.create TemplateFromFile (),而不是.createHtml OutputFromFile 。 OutputFromFile基本上从文件中获取数据,但不处理它。换句话说,它不会渲染/合并StyleSheet或JavaScript文件。
您可以在Best Practices下的Google Apps脚本文档中详细了解如何进行此设置。
我希望它有所帮助。