我需要在 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>
最佳答案
如果您只是尝试使用一些 CSS 和 JavaScript 加载页面。您不想在 HTML 文档中调用 HTMLService。试试这个-
代码.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 函数说的是 .createTemplateFromFile(),而不是 .createHtmlOutputFromFile。 OutputFromFile 基本上从文件中获取数据,但不对其进行处理。换句话说,它不会呈现/合并样式表或 JavaScript 文件。
您可以在 Best Practices 下的 Google Apps 脚本文档中阅读有关如何进行设置的更多信息.
希望对你有帮助。
关于javascript - 如何在 Google Apps 脚本中修改 HTMLOutput 之前的 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39428291/