1

我正在逐步构建 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)在这种情况下不会起作用,因为我需要替换占位符字符串。

4

1 回答 1

3

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

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

截屏

这是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;
}
于 2013-09-16T21:55:22.520 回答