javascript - 如何在 Google Apps 脚本中修改 HTMLOutput 之前的 html 文件

标签 javascript css google-apps-script

我需要在 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/

相关文章:

html - 如何让3张图片保持在同一行响应和悬停效果

javascript - 仅按谷歌应用程序脚本中的列设置值

google-apps-script - 谷歌应用程序脚本使用jdbc将日期插入表

c# - 如何通过自定义打印窗口打印完整的 gridview 区域?

javascript - 获取body中特定Tag元素

javascript - 通过addon脚本调用网页的Javascript函数

html - 如何自定义我的 &lt;input type=button>?

html - 滚动容器内的 CSS 位置元素 "fixed"

javascript - momentJS to Date() 返回无效日期

macos - emacs 控制 D 键绑定(bind)被覆盖