jQuery: перейти к URL с target= " пустой"


Я использую этот код jQuery получить href ссылки:

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

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

window.location = url;

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

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

Спасибо за помощь!

7 52

7 ответов:

нужно открыть новое окно:

window.open(url);

https://developer.mozilla.org/en-US/docs/DOM/window.open

использовать

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

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

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

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

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

определить, если целевой атрибут был использован и содержит "_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;
            }
        }           
    });

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

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

кроме того, вы всегда можете использовать JavaScript

The

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

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