google.script.run.myFunction()可用变量的范围是什么

时间:2012-09-29 18:45:56

标签: google-apps-script google-sheets

如果可以的话,我想要进行一些健全的检查。

HtmlOutput窗口中的Javascript代码可以在Google电子表格中浮动,更改变量并调用首先创建HtmlOutput的gs代码中的方法吗?

我有一个Google电子表格,其浮动表格如下所示:

  

someCode.gs

var theForm;
var theSpreadsheet;
function makeForm() {
    :
  theForm = HtmlService.createTemplateFromFile('aForm').evaluate();
  theSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();    
  theSpreadsheet.show(theForm);
    :
}

function recordTheForm(jsonFormData) {
    :
  theForm.clear();
    :
}

附加到“aForm.html”HTML中的按钮,我将函数调用回文件“someCode.gs”。

  

aForm.html

  :
google.script.run.recordTheForm(jsonTheForm);
  :

我是否正确,即使它是从someCode.gs实例化的,recordTheForm()的调用者也不知道该原始内存空间的内容?

有没有得到它?比如来回传递一个“背景”?

1 个答案:

答案 0 :(得分:0)

GAS中的变量:

浏览器按钮点击和其他浏览器事件产生对GAS的调用。从浏览器到GAS的每次调用都会导致您的GAS代码重新运行,重新初始化所有变量。这是全局变量的问题。全局变量需要从浏览器传递回GAS代码或从数据库或脚本属性重新加载。