Windows打开 - 为什么链接打开方式不同 - 在新选项卡和新窗口中?

时间:2013-07-03 07:09:16

标签: javascript jquery

美好的一天。

当我使用此代码时,请在新窗口中打开链接(代码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中的开放方式不同,以及如何在新标签中打开code1链接中的链接?

2 个答案:

答案 0 :(得分:1)

这两行代码之间确实没有区别。您最有可能在两种不同的浏览器中测试过它?

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

是的,您可以指定_blank但这仅是推荐,用户的选择(=浏览器设置)始终具有优先权。这就是为什么你不应该打扰窗户打开的方式或原因。

答案 1 :(得分:0)

我为您复制了您的代码,并在新标签中打开了这两个链接。 (请参阅此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");
};