Подтвердить что ты не робот

Как сделать ссылку открывать несколько страниц при нажатии

У меня есть две (или более) ссылки. Например: http://google.com и http://yahoo.com.

Как я могу сделать их открытыми, когда я нажимаю на одну ссылку?

Например, ссылка под названием "нажмите здесь", которая при нажатии откроет два разных пустых окна.

4b9b3361

Ответ 1

HTML:

<a href="#" class="yourlink">Click Here</a>

JS:

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

window.open также может принимать дополнительные параметры. См. Их здесь: http://www.javascript-coder.com/window-popup/javascript-window-open.phtml

Вы также должны знать, что window.open иногда блокируется блокировщиками всплывающих окон и/или рекламными фильтрами.

Дополнение от Paul ниже: этот подход также влияет на включенность JavaScript. Обычно это не хорошая идея, но иногда она необходима.

Ответ 2

Я сделал это простым способом:

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

Он откроет runningrss в новом окне и virtual-doctor в том же окне.

Ответ 3

Возможно, вы захотите разместить свой HTML-код, чтобы пользователь мог открыть все ссылки, даже если JavaScript не включен. (Мы называем это прогрессивным улучшением.) Если так, что-то вроде этого может работать хорошо:

HTML

<ul class="yourlinks">
    <li><a href="http://www.google.com/"></li>
    <li><a href="http://www.yahoo.com/"></li>
</ul>

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.
});

Этот код предполагает, что вы хотите использовать только один "многоканальный", например, на странице. (Ive также не проверял его, поэтому его, вероятно, пронизано ошибками.)

Ответ 4

Вы можете открыть несколько окон одним нажатием... Попробуйте это.

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

Ответ 5

Я создал немного гибридного подхода между Полом и Адамом:

Ссылка, которая открывает массив ссылок, уже находится в html. Jquery просто создает массив ссылок и открывает каждый, когда нажата кнопка "открыть все":

HTML:

<ul class="links">
<li><a href="http://www.google.com/"></a></li>
<li><a href="http://www.yahoo.com/"></a></li>
</ul>

<a id="open-all" href="#">OPEN ALL</a>

Jquery:

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

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

    $('#open-all').click(function() {
        for (var i in hrefs) {
            window.open(hrefs[i]); // ...that opens each stored link in its own window when clicked...
        }
    });
});

Вы можете проверить это здесь: https://jsfiddle.net/daveaseeman/vonob51n/1/

Ответ 6

Вам нужно разблокировать всплывающие окна для вашего браузера, и код может работать.

хром://настройки/contentExceptions # всплывающие окна

Настройки браузера Chrome