【发布时间】:2014-07-28 17:32:41
【问题描述】:
似乎当使用 HtmlService.createTemplateFromFile() 时,文件中的 html 代码只是一个 sn-p。该方法将 sn-p 打包在一个 html 包装器中,该包装器添加了诸如 DTD、html、head 和 body 标记之类的内容,以形成一个完整的 html 文档。文档 (https://developers.google.com/apps-script/guides/html/) 表明 HtmlService.createHtmlOutputFromFile() 的工作方式不同。它表明在后一种情况下,相关文件包含整个 html 代码,并且该方法不添加包装器。实验表明,后者的工作原理与前者的相似之处在于添加了一个包装器。我的问题是:有没有办法从应用脚本返回 html 代码的 sn-p(即没有包装器)?我问的原因是我希望能够使用 AJAX 将来自 app-script 的代码的 sn-p 插入 DOM 结构中的某个点。感谢您的任何意见。
... doug
附:我意识到这可能是一个单独的问题。但是,如果 sn-p 可以包含一个 scriptlet,那就太好了。
【问题讨论】:
-
Apps 脚本有一个
Content Service,它将返回内容。您可能需要在您的doGet()函数中添加一个If, then语句,该语句将加载您的常规 HTML 服务,或根据 URL 中传递的搜索字符串返回内容。 -
我尝试了内容服务。它似乎在很大程度上解决了我的问题。看起来我坚持将代码作为字符串输入,而不是通过更方便的方式使用文件,如 html 服务中的方法。这可能不是什么大不了的事,因为预计代码将是相当短的“snipits”。我更担心的是我似乎无法在 snipit 中包含 scriptlet。这是我非常喜欢的一个功能。感谢您的意见。
-
为什么 HTML 需要来自 Apps 脚本?它可能来自您 Google 云端硬盘中的文件吗?
-
在静态代码的情况下(例如,hello world),我认为 HTML 可能来自 Google Drive。但是,我也认为在其他情况下,人们可能希望它来自脚本。不幸的是,我的问题只是一般性的,与特定问题无关。我需要了解更多。你是最有帮助的。感谢您的意见。