所以基本上我有一个链接列表,我希望用户通过某种弹出窗口查看。我发现了一个类似的问题here,解决方案是创建一个UI面板来执行此操作。但这只是一个链接。我需要一个接一个地在同一区域放入多个链接。当我为多个链接尝试此操作时,它显示一个错误,表示每个父母只允许一个孩子或类似的东西。
我希望有人能把我推向正确的方向。实际上是不可能在消息框或吐司中添加超链接..?
提前致谢。
答案 0 :(得分:1)
正如Srik评论的那样,使用这样的不同面板,例如:
function test(){
showURL('Google','http://www.google.com','Stackoverflow','http://stackoverflow.com/questions/tagged/google-apps-script')
}
function showURL(name1,href1,name2,href2){ // for ease of use I give the urls as parameters but you could define these urls in the function as well
var app = UiApp.createApplication().setHeight(60).setWidth(200);
app.setTitle("Show URLs");
var link1 = app.createAnchor(name1, href1);
var link2 = app.createAnchor(name2, href2);
app.add(app.createVerticalPanel().add(link1).add(link2)); // add others as needed
var doc = SpreadsheetApp.getActive();
doc.show(app);
}
编辑:感谢接受 - 如果您需要动态尝试这样的事情,请使用数组作为参数:
function test(){
showURL(['Google','http://www.google.com','Stackoverflow','http://stackoverflow.com/questions/tagged/google-apps-script','Google','http://www.google.com','Stackoverflow','http://stackoverflow.com/questions/tagged/google-apps-script'])
}
function showURL(data){ // for ease of use I give the urls as parameters but you could define these urls in the function as well
var app = UiApp.createApplication().setHeight(40+8*data.length).setWidth(200);
app.setTitle("Show URLs");
var panel = app.createVerticalPanel();
app.add(panel);
for(var d=0 ; d<data.length;d=d+2){
var link = app.createAnchor(data[d], data[(d+1)]);
panel.add(link);
}
var doc = SpreadsheetApp.getActive();
doc.show(app);
}