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

JQuery: перейти к URL-адресу с target = "_ blank"

Я использую этот бит кода jQuery для получения href ссылки:

var url = $(this).attr('href');

- и этот бит кода перейдет к этому href:

window.location = url;

Все так, как я хочу, за исключением того, что новая страница открывается в том же окне, что и предыдущая, и я хочу, чтобы она открывалась в новом окне или вкладке (что-то, что в простом html было бы достигнуто с помощью target = "_ blank" ).

Вопрос: Как я могу открыть href в новом окне или вкладке с помощью jQuery?

Благодарим за помощь!

4b9b3361

Ответ 2

Использование

var url = $(this).attr('href');
window.open(url, '_blank');

Обновить: href лучше получить с помощью prop, так как он вернет полный URL-адрес и немного быстрее.

var url = $(this).prop('href');

Ответ 3

Вопрос. Как открыть href в новом окне или вкладке с помощьюJQuery?

var url = $(this).attr('href').attr('target','_blank');

Ответ 4

Определите, использовался ли целевой атрибут и содержит "_blank". Для мобильных устройств, которые не любят "_blank", это надежная альтернатива.

    $('.someSelector').bind('touchend click', function() {

        var url = $('a', this).prop('href');
        var target = $('a', this).prop('target');

        if(url) {
            // # open in new window if "_blank" used
            if(target == '_blank') { 
                window.open(url, target);
            } else {
                window.location = url;
            }
        }           
    });

Ответ 5

Если вы хотите создать всплывающее окно через jQuery, вам нужно будет использовать плагин. Кажется, это похоже на то, что вы хотите:

http://rip747.github.com/popupwindow/

В качестве альтернативы вы всегда можете использовать функцию JavaScript window.open.

Обратите внимание, что при любом подходе новое окно должно быть открыто в ответ на ввод/действие пользователя (например, щелчок по ссылке или кнопке). В противном случае блокировщик всплывающих окон браузера просто заблокирует всплывающее окно.

Ответ 6

Функция .ready используется для вставки атрибута после завершения загрузки страницы.

$(document).ready(function() {
     $("class name or id a.your class name").attr({"target" : "_blank"})
})

Ответ 7

Попробуйте использовать следующий код.

$(document).ready(function(){
    $("a[@href^='http']").attr('target','_blank');
});