Google网站应用脚本用于创建带超链接的HTML

时间:2013-09-16 16:08:22

标签: google-apps-script

我正在逐步构建HTML以用于Google网站,我需要用超链接替换一些内容。根据文档<a>,不允许使用标记。

那么......如何将以下示例中的anchor转换为可附加的HTML字符串?

for(var ii=1; ii < strings.length; ii++) {
   html += "<h2>An item</h2>";
   html += "<div class='item'>";
   anchor = app.createAnchor("click for further info...", "http://x.com?id=y");
   html += strings[ii].replace(/<link>/g, anchor);
   html += "</div>";
}
app.add(app.createHTML(html));

我不认为.add(anchor)在这种情况下会起作用,因为我需要替换占位符字符串。

1 个答案:

答案 0 :(得分:3)

Class Html只能包含html文本,它不是Class Anchor实例的容器。但是,您可以将Anchors放入任何UiApp容器元素中。

Google网站上的Apps脚本小工具中的示例:

Screenshot

这是FlowPanel中锚点的示例。虽然任何面板类型都可以,但流程面板使用包含元素的默认排列,这意味着我们可以使用inlineLabels散布Anchor元素,最后将文本显示为单行。

代码:

// Simulate html text + link by combining 
// inlineLabels & anchors in a flowPanel.
function doGet() {
  var app = UiApp.createApplication();

  var flow = app.createFlowPanel(); // To simulate text + link
  flow.add(app.createInlineLabel('If you want to see kittens, '));
  flow.add(app.createAnchor('click here', 'https://www.google.com/search?q=cute+kitten+pictures&tbm=isch'));
  flow.add(app.createInlineLabel('.'));
  app.add(flow);

  return app;
}