单击时如何使链接打开多个页面

Ben*_*min 38 html javascript jquery

我有两个(或更多)链接.例如:http://google.comhttp://yahoo.com.

当我点击一个链接时,如何让它们打开?

例如,一个标题为"点击此处"的链接,当点击该链接时,将打开两个不同的空白窗口.

Ada*_*son 41

HTML:

<a href="#" class="yourlink">Click Here</a>
Run Code Online (Sandbox Code Playgroud)

JS:

$('a.yourlink').click(function(e) {
    e.preventDefault();
    window.open('http://yoururl1.com');
    window.open('http://yoururl2.com');
});
Run Code Online (Sandbox Code Playgroud)

window.open也可以采取额外的参数.在这里查看:http://www.javascript-coder.com/window-popup/javascript-window-open.phtml

您还应该知道window.open有时会被弹出窗口拦截器和/或广告过滤器阻止.

保罗在下面添加:这种方法也依赖于启用JavaScript.通常不是一个好主意,但有时是必要的.

  • 虽然这仍然适用于Firefox,Chrome的弹出窗口阻止程序现在会阻止第二个window.open(在Chrome 37和FF 32中测试).JSFiddle:http://jsfiddle.net/y3p8tpvt/ (4认同)
  • 一个健全的方法,保罗.渐进式增强将拯救我们所有人. (3认同)

Jef*_*son 16

我以一种简单的方式做到了:

    <a href="http://virtual-doctor.net" onclick="window.open('http://runningrss.com');
return true;">multiopen</a>
Run Code Online (Sandbox Code Playgroud)

它会打开runningrss在新窗口和虚拟医生在同一窗口.


Pau*_*ite 9

您可能希望安排HTML,以便即使未启用JavaScript,用户仍可以打开所有链接.(我们称之为逐步增强.)如果是这样,这样的事情可能会很好:

HTML

<ul class="yourlinks">
    <li><a href="http://www.google.com/"></li>
    <li><a href="http://www.yahoo.com/"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(function() { // On DOM content ready...
    var urls = [];

    $('.yourlinks a').each(function() {
        urls.push(this.href); // Store the URLs from the links...
    });

    var multilink = $('<a href="#">Click here</a>'); // Create a new link...
    multilink.click(function() {
        for (var i in urls) {
            window.open(urls[i]); // ...that opens each stored link in its own window when clicked...
        }
    });

    $('.yourlinks').replaceWith(multilink); // ...and replace the original HTML links with the new link.
});
Run Code Online (Sandbox Code Playgroud)

此代码假设您只想在每页中使用一个"多链接".(我也没有对它进行过测试,因此可能会出现错误.)


Iam*_*at8 6

您可以单击打开多个窗口...试试这个..

<a href="http://--" 
     onclick=" window.open('http://--','','width=700,height=700'); 
               window.open('http://--','','width=700,height=500'); ..// add more"
               >Click Here</a>`
Run Code Online (Sandbox Code Playgroud)