【问题标题】:Obtaining a Snippet of HTML code from an App Script从 App Script 获取 HTML 代码片段
【发布时间】: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。但是,我也认为在其他情况下,人们可能希望它来自脚本。不幸的是,我的问题只是一般性的,与特定问题无关。我需要了解更多。你是最有帮助的。感谢您的意见。

标签: google-apps-script


【解决方案1】:

总的来说,我可以想到 5 个基本策略:

  • Apps 脚本项目中的静态 HTML
  • 来自 Apps 脚本之外的文件的静态 HTML
  • 从服务器端代码创建的动态 HTML
  • 在浏览器中使用 JavaScript 创建的动态 HTML,从某处检索数据。
  • 从其他网站的页面检索 HTML。

您想使用从前端触发的动态 HTML 脚本。如果是动态HTML,可以在浏览器中从Javascript动态改变HTML,或者你可以从服务器制定HTML,然后返回一串HTML。我想有多种策略可以做到这一点。

您可以从其他网站调用 Google Apps 脚本,并将 Apps 脚本用作服务器端代码,而无需直接将任何输出返回到屏幕。你可以使用Content Service 来做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多