0

假设我有一个 HTML 页面,它包含数百个链接。当任何人点击这些链接时,它们将在同一个窗口中加载。

我希望它在另一个窗口中打开。我知道我可以target用于每个链接:

<a href="http://www.example1.com/" target="_blank">My Text1</a>
<a href="http://www.example2.com/" target="_blank">My Text2</a>
<a href="http://www.example3.com/" target="_blank">My Text3</a>

Howeder,如果可能的话,我更喜欢使用 JavaScript。是否有可能用 JavaScript 做到这一点,如果可以,怎么做?

4

3 回答 3

1

是的。使用这样的东西:

var newtab = window.open('http://www.example1.com/', '_blank');

newtab.focus();

根据特定的浏览器,这可能会在新选项卡或新窗口中打开,但我不知道有什么方法可以更具体地控制它。

编辑 或者您是否要求一种方法来设置页面上所有链接的行为?然后,您可以在页面加载时将正确的目标添加到所有这些目标。

使用 jQuery:http: //jsfiddle.net/b8hdv/

$(document).ready(function() {
    $('a').attr('target', '_blank');
});

...或没有 jQuery:http: //jsfiddle.net/uFvUS/

window.onload = function(e) {
    var links = document.getElementsByTagName('a');

    for (var i = 0; i < links.length; i++) {
        links[i].target = '_blank';
    }
}
于 2013-03-30T02:16:39.407 回答
0
function open_in_new_tab(url )
{
  var win=window.open(url, '_blank');
  win.focus();
}

像这样使用:

$("#a_id").on("click", function(){
open_in_new_tab($(this).attr("href"));
});

演示 HTML:

<a href="somepage.html" id="a_id">Click me!</a>

在这里找到

于 2013-03-30T02:17:13.847 回答
0

试试这个:

window.open('http://www.example1.com');

并捕获事件点击。

于 2013-03-30T02:17:33.783 回答