Javascript Google应用程序脚本使用函数写入HTML

Javascript Google应用程序脚本使用函数写入HTML,javascript,html,web,google-apps,Javascript,Html,Web,Google Apps,我正在尝试编写一个Google应用程序脚本,当发布为Web应用程序时,会有一个按钮,按下该按钮时,将调用Code.gs中的函数,该函数将显示或隐藏一段html(实际上,使用特定ID更改div的样式) 这是我设置的一个小案例示例: My index.html文件: <!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <button

我正在尝试编写一个Google应用程序脚本,当发布为Web应用程序时,会有一个按钮,按下该按钮时,将调用Code.gs中的函数,该函数将显示或隐藏一段html(实际上,使用特定ID更改div的样式)

这是我设置的一个小案例示例:

My index.html文件:

<!DOCTYPE html>
<html>
<head>
  <base target="_top">
</head>

<body>

  <button onclick="google.script.run.myFunction()">Click Me</button>

  <div id="myDIV">
    This is my DIV I want to Reveal/Hide.
  </div>

 </body>
</html>
function doGet() {
  var template = HtmlService.createTemplateFromFile("index.html");
  var html = template.evaluate();
  return HtmlService.createHtmlOutput(html);
  }

function myFunction() {  
  var x = document.getElementById("myDIV");/*Where the Reference Error Shows Up*/
  if (x.style.display === "none") {
    x.style.display = "block";
    } 
    else {
      x.style.display = "none";
      }
   }
调试时我一直遇到的错误是:ReferenceError:“document”未定义。发布时,该按钮将显示myDIV,单击该按钮不会执行任何操作


我假设问题是我不应该使用document.getElementByID(),而是使用一些东西lse.getElementByID(),但我不知道其他东西是什么。我在网上寻找的大多数案例都不是谷歌网络应用特有的。任何帮助都将不胜感激。

您需要注意每个代码的执行位置:GS代码在“服务器端”执行,因此不能参考作为导航器(“客户端”)变量的
文档

myFunction()
添加到您的HTML中,并使用
onclick=“myFunction();”
直接调用它,这应该可以实现这一目的

问候,