web-dev-qa-db-ja.com

jQuery:target = "_ blank"でURLに移動します

このjQueryコードを使用して、リンクのhrefを取得しています。

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

-そして、このhrefに移動する次のコード:

window.location = url;

新しいページが前のウィンドウと同じウィンドウで開き、新しいウィンドウまたはタブで開くようにすることを除いて、すべてが私が望む方法です(プレーンHTMLではtarget = " _blank」式)。

質問:jQueryで新しいウィンドウまたはタブでhrefを開くにはどうすればよいですか?

ご協力ありがとうございました!

58

新しいウィンドウを開く必要があります:

window.open(url);

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

82

つかいます、

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

更新hrefは、完全なURLを返すため、propで取得する方が適切であり、わずかに高速です。

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

質問:新しいウィンドウまたはタブでhrefを開くにはどうすればよいですか jQuery?

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

ターゲット属性が使用され、「_ 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;
            }
        }           
    });
3
recurse

.ready関数は、ページの読み込みが完了したら属性を挿入するために使用されます。

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

JQueryを使用してポップアップウィンドウを作成する場合は、プラグインを使用する必要があります。これはあなたが望むことをするようです:

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

または、JavaScriptの window.open 関数をいつでも使用できます。

どちらのアプローチでも、ユーザーの入力/アクションに応じて新しいウィンドウを開く必要があることに注意してください(たとえば、リンクまたはボタンをクリックするなど)。そうしないと、ブラウザのポップアップブロッカーがポップアップをブロックするだけです。

1
aroth

次のコードを使用してみてください。

$(document).ready(function(){
    $("a[@href^='http']").attr('target','_blank');
});
0
Lähîrü