我需要在google脚本中使用全局变量来保存页面ID,就像字符串一样。 Here,他们建议为此目的使用隐藏对象。我可以创建这个对象并设置它的值。
实现相同的代码:
function doGet(e) {
var app = UiApp.createApplication();
//Get current indentificator
var mid = 'page-id';
app.add( app.createHidden('mid').setValue(mid).setId('mid'));
return app;
}
但是如何从另一个函数中获取此值?
例如:
function maketbl(){
var app = UiApp.getActiveApplication();
app.(?!)
}
谢谢!
答案 0 :(得分:1)
我看到您的要求是具有与全局变量类似的功能。我建议您使用脚本属性,用户属性或缓存服务来完成此专长。一个例子如下
ScriptProperties.setProperty('special', 'sauce'); // Use this to set the property
var specialValue = ScriptProperties.getProperty('special'); // use this to access the property
答案 1 :(得分:0)
尝试以下代码:
function doGet(e) {
var app = UiApp.createApplication();
var mid = 'page-id';
var hidden = app.createHidden('mid').setValue(mid).setId('mid');
app.add(hidden);
//Create your handler
var handler = app.createServerHandler('maketbl');
handler.addCallbackElement(hidden)
//Create a button to trigger your function
app.add(app.createButton().setText("go forest").addClickHandler(handler));
return app;
}
function maketbl(e){
var app = UiApp.getActiveApplication();
//Retrieve the hidden field
var hidden = app.getElementById("mid");
//Show the value stored at e.parameter.mid where mid is the name of the field
var dialogBox = app.createDialogBox().setText(e.parameter.mid);
dialogBox.setPopupPosition(100, 100);
dialogBox.show();
return app;
}
实时版here。