2016-08-21 88 views
0

我需要在新选项卡或窗口中打开这些URL。现在他们正在同一页面中打开。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") 

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

+0

'window.open(d.url)'为我工作。 –

+0

哪里?我试图说,而不是:location.href =“target.url.com”;它仍然在同一个标​​签中打开。 – kajihood

+0

你检查过我的小提琴吗?它是否在同一个标​​签中打开? –

回答

0
.attr("target","_blank", function(d) { return d.example.url; }) 

这正是我需要的,
谢谢大家反正

1

该问题似乎是使用location.href。如果您希望链接在新标签或窗口在同一选项卡(页)打开,而不是,你需要使用window.open()

selection.on('click',function(){ 
    window.open(url) 
}); 

注意:您不能强制链接在新标签页中打开而不是一个新窗口。这是一个用户偏好

检查这个小提琴,我创建了3个矩形,并绑定数据给他们与一些链接。点击每个矩形来打开链接:https://jsfiddle.net/gerardofurtado/9s7wpb20/1/

+0

我正在尝试使用您的代码,但我只能通过单击矩形在新选项卡中打开我的链接。我的d3.js仍然在同一个标​​签中打开。 – kajihood

+0

让我明白:在小提琴中,它是在一个新的标签中还是在同一个标​​签中打开? –

+0

在你的小提琴中,它正在打开一个新标签。但我无法对我的代码做同样的事情。 – kajihood