3

再会。

当我使用此代码时,链接在新窗口中打开(代码 1):

$.post("test.php", {
...
...
...
},
function(data){
var data = data; //data = 32@4http://google.com
var arr=data.split("@4");
var link = arr[1]; //link=http://google.com
window.open(arr[1], "_blank"); //link open in new window

});

但是当我使用下一个代码(代码 2 )时,链接会在新选项卡中打开:

$.post("test.php", {
...
...
...
},
function(data){
var data = data;
window.open($("link").attr("href"), "_blank"); //link open in new tab

});

请告诉我为什么链接在代码 1 和代码 2 中的打开方式不同,以及如何使代码 1 中的链接在新选项卡中打开?

4

2 回答 2

1

这两行代码真的没有区别。您很可能在两种不同的浏览器中对此进行了测试?

更重要的是:您无法影响窗口的打开方式。这取决于用户(浏览器)。如果用户选择在新选项卡或新窗口或同一窗口中打开,您对此无能为力。

是的,您可以指定_blank,但这只是一个建议,用户的选择(= 浏览器设置)始终具有优先权。这就是为什么您不应该打扰您的窗口以某种方式打开的方式或原因。

于 2013-07-03T07:22:04.183 回答
0

我复制了您的代码,并且两个链接都在一个新选项卡中为我打开。(请参阅this Fiddle。)这取决于浏览器和您使用的设置。例如,Firefox 有一个选项“打开新选项卡而不是窗口”。

HTML:

<a id="open">open</a>

<a id="link" href="http://google.com"></a>

JavaScript:

var link = "http://google.com";

document.getElementById('open').onclick = function () {
    window.open(link, "_blank");
    window.open($('#link').attr('href'), "_blank");
};
于 2013-07-03T07:23:21.847 回答