每次强制在新的弹出窗口中打开不同的链接

时间:2013-08-22 07:11:08

标签: javascript html browser

我有一个HTML页面,并且有四个链接可以在新窗口中转到不同的页面。

例如:

Link1,Link2,Link3 Link4

我想要在新窗口1中弹出链接1,在新窗口2中弹出Link2等等......

单击Link2时,Window 1及其来自Link1的内容将保留。

目前,问题是四个链接在新的窗口1中打开,覆盖了Link1的第一个当前内容。我想要的是每次点击链接时都有四个独特的窗口。

我不知道是否有某个Javascript函数可以执行此操作,但我现在在这四个链接上的内容只是锚标记上的target =“_ blank”。这种情况发生在IE和Chrome中,我也会想到FF和任何其他浏览器。

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

尝试

var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
    var link = links[i];
    link.addEventListener("click", function (e) {
        e.preventDefault();
        window.open(this.href);
    });
}

答案 1 :(得分:2)

target="_blank"将在新窗口中打开每个链接(如果链接已经打开则无关紧要);

如果要关注打开的窗口,可以使用模态窗口(即不是制表符),如下所示:

HTML:

<a href="http://google.com">link 1</a><br/>
<a href="http://yahoo.com">link 2</a><br/>
<a href="http://bing.com">link 3</a><br/>
<a href="http://mamma.com">link 4</a>

JS:

$(document).ready(function() {
    $('a').click(function(e) {
        var id = $(this).data("windowid");
        if(id == null || id.closed) {
            id =  window.open($(this).attr("href"), '_blank', 'modal=yes');
        }
        id.focus();
        $(this).data("windowid", id);
        e.preventDefault();
        return false;
    });
});

http://jsfiddle.net/JeQyE/2/

答案 2 :(得分:0)

使用window.open javascript函数,如下所示,

window.open("your link")

答案 3 :(得分:0)

target也可以接受名称而不是“_blank”,例如win1 win2等

请参阅http://www.w3.org/html/wg/drafts/html/master/browsers.html#browsing-context-names