我需要在新的标签页或窗口中打开网址。现在他们正在同一页面打开。
var data = [
{title: "1", url: "gallery1.html"},
{title: "2", url: "gallery2.html"},
{title: "3", url: "gallery3.html"},
];
.attr("xlink:href", function(d) { return d.example.url; })
.attr("xlink:title", function(d) { return d.example.title; });
svg.selectAll('.add-url-node')
.on('click',function(d){
location.href = 'target.url.com';
});
我试过了:
<script>
window.open(url);
</script>
和
window.open(link, "_blank")
和
data.forEach(function(elem){
window.open(elem.url,"_blank");
});
和
.attr("xlink:target", "_blank")
我没有编程经验,我真的很高兴看到使用上面代码的示例。非常感谢。
答案 0 :(得分:1)
问题似乎是使用location.href
。如果您希望链接在新标签页或窗口中打开,而不是在同一标签页(页面)中,则需要使用window.open()
:
selection.on('click',function(){
window.open(url)
});
注意:您无法强制在新选项卡中打开链接而不是新窗口。它是用户偏好。
检查这个小提琴,我创建了3个矩形,并用一些链接将数据绑定到它们。单击每个矩形以打开链接:https://jsfiddle.net/gerardofurtado/9s7wpb20/1/
答案 1 :(得分:0)
.attr("target","_blank", function(d) { return d.example.url; })
这就是我所需要的,
无论如何,谢谢大家