【问题标题】:ReferenceError: "document" is not definedReferenceError:未定义“文档”
【发布时间】:2012-11-25 15:06:25
【问题描述】:

我是 JavaScript 新手,对 Google Apps 脚本更是陌生。我正在尝试一个显示当前日期的简单函数(仅显示日期、月份 e 和全年),但 Google 脚本显示错误 ReferenceError: "document" is not defined。

我的目标是在 Google 网站中使用此功能。代码如下:

function Data()
{
var d=new Date();
var dia=d.getDate();
var mes=d.getMonth();
var ano=d.getFullYear();
var DataCompleta=dia + "/" + mes + "/" + ano
document.write(DataCompleta);
}

【问题讨论】:

  • 在浏览器中它适用于我:jsfiddle.net/t4PbY
  • 是的,我也是,但不在 Google Apps 脚本中。

标签: javascript google-apps-script google-sites referenceerror


【解决方案1】:

如前一个答案中所说,您不能直接在浏览器中执行函数,您必须选择一个所谓的“container”才能从中运行您的函数。我建议您阅读 documentation 并尝试一些 simple tutorials 以了解如何执行 GAS。


编辑: 关注您的 cmets,随时查看使用 UiApp 构建的 this script,结果可见 here 并显示您想要的内容:“您好,今天是 25/10/2012"

【讨论】:

  • 我阅读了文档,但似乎我不理解 :) 我的代码仍然无法正常工作,出现 ReferenceError: "document" is not defined。 GAS 不使用这个对象?我将我的更改为:function doGet() { return HtmlService.createHtmlOutput('Data.html') } function Data() { var d=new Date(); var dia=d.getDate(); var mes=d.getMonth(); var ano=d.getFullYear(); var DataCompleta=dia + "/" + mes + "/" + ano; document.write(DataCompleta); } 在另一个名为 Data.html 的文件中我这样做了:<html> <script> google.script.run.Data(); </script> </html>
  • this page 应该可以帮助您,不需要“文档”对象,不要忘记脚本是在云端执行的,而不是在您的浏览器中。您正在尝试的 HTML 服务允许您混合客户端和服务器代码执行,但不是(在我看来)最容易理解的......(因为这两个方面)所以为什么不从一个简单的脚本文件开始脚本编辑器,例如 this example
  • 感谢您的帮助。我使用了 scriptlet 标签,效果很好。
【解决方案2】:

作为 Google Apps 脚本运行的代码不会在浏览器中运行,因此您不能将网络浏览器 API 与它一起使用。如果您想将内容输出到 Google 站点,则需要使用 API for Sites

大概你会想要createWebPage 之类的东西,然后使用the methods on the resulting object 向其中添加内容。

【讨论】:

  • 不,我不想创建页面,但只显示当前日期。您知道,当您打开网页并在内容顶部显示“您好,今天是 2012 年 11 月 25 日!”。类似的东西...
  • 为此,您需要a <script> element in the page。 Apps 脚本不是解决此问题的正确工具。
  • 感谢@Quentin。我试图将此代码插入 Google 站点和另一个帮助主题,他们说不接受 Javascript。不迷茫吗? support.google.com/sites/bin/answer.py?hl=en&answer=90540
  • @user1851272 — 是的,Google 似乎有相互矛盾的文档。我会改用普通的网络托管服务。
  • Google 协作平台不允许在核心协作平台页面中使用 JavaScript。您可以通过 Apps 脚本(特别是 HtmlService)或站点特定的“HTML 框”添加它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多