web-dev-qa-db-ja.com

JavaScriptまたはjQueryを使用して新しいタブでURLを開く方法

プログラムで新しいウィンドウではなく新しいタブでURLを開く方法

223
Midhuna

window.open()を使う:

var win = window.open('http://stackoverflow.com/', '_blank');
if (win) {
    //Browser has allowed it to be opened
    win.focus();
} else {
    //Browser has blocked it
    alert('Please allow popups for this website');
}

ブラウザの実装によってはこれでうまくいきます。

タブではなくウィンドウで開くためにできることは何もありません。

381
FabianCook

これはこれと同じくらい簡単です。

window.open('_link is here_', 'name'); 

機能の説明

nameはウィンドウの名前です。以下の名前がサポートされています。

  • _blank - URLは 新しいタブに読み込まれます これはデフォルトです。
  • _parent - URLは親フレームにロードされます
  • _self - 現在のページを置き換えるURL
  • _top - ロードされる可能性のあるフレームセットをURLで置き換える
136
JaiSat

新しいタブですべてのリンクを開くつもりなら、このjqueryを使ってみてください。

$(document).on('click', 'a', function(e){ 
    e.preventDefault(); 
    var url = $(this).attr('href'); 
    window.open(url, '_blank');
});
55
Lafif Astahdziq
 var url = "http://www.example.com";
 window.open(url, '_blank');
36
codebreaker

新しいタブを簡単に作成できます。次のようにします。

function newTab() {
     var form = document.createElement("form");
     form.method = "GET";
     form.action = "http://www.example.com";
     form.target = "_blank";
     document.body.appendChild(form);
     form.submit();
}
26
Koffy

あなたが新しいウィンドウですべてのタグを開こうとしているのか、外部リンクだけを開こうとしているのかは、あなたの質問では特定されていません。

しかし、外部リンクを新しいタブでのみ開きたい場合は、次のようにします。

$( 'a[href^="http://"]' ).attr( 'target','_blank' )
$( 'a[href^="https://"]' ).attr( 'target','_blank' )
11