我正在逐步构建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)
在这种情况下会起作用,因为我需要替换占位符字符串。
答案 0 :(得分:3)
Class 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;
}