d3.js window.open对我不起作用

时间:2016-08-21 11:00:19

标签: javascript d3.js window.open

我需要在新的标签页或窗口中打开网址。现在他们正在同一页面打开。

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") 

我没有编程经验,我真的很高兴看到使用上面代码的示例。非常感谢。

2 个答案:

答案 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; })

这就是我所需要的,
无论如何,谢谢大家