web-dev-qa-db-ja.com

新しいタブのjavascript window.location

window.locationを介してユーザーをURLに転送していますが、このURLはブラウザーの同じタブで開きます。新しいタブで開いてほしい。 window.locationでできますか?このアクションを実行する別の方法はありますか?

105

ブラウザー拡張機能を作成しているのでなければ、これを行う方法はないと思います。 window.openを使用して、ユーザーが新しいタブで新しいウィンドウを開くようにブラウザーを設定することを期待できます。

17
Ian Oxley
window.open('https://support.wwf.org.uk', '_blank');

2番目のパラメーターは、新しいウィンドウで開くようにするものです。必ずお読みください Jakob Nielsenの参考記事 :)

375
user1450789

これはChrome 53で機能します。他のどこでもテストしていません:

function navigate(href, newTab) {
   var a = document.createElement('a');
   a.href = href;
   if (newTab) {
      a.setAttribute('target', '_blank');
   }
   a.click();
}
5

jQueryではさらに簡単で、Chromeでも動作します

$('#your-button').on('click', function(){
       $('<a href="https://www.some-page.com" target="blank"></a>')[0].click();    
})
4
relief.melone

ポップアップではなく、この質問スレッドで言及されているこのソリューションが個人的に気に入った JavaScript:location.hrefで新しいウィンドウ/タブで開く?

$(document).on('click','span.external-link',function(){
        var t               = $(this), 
            URL             = t.attr('data-href');        
        $('<a href="'+ URL +'" target="_blank">External Link</a>')[0].click();

    });

動作中

2
OyeHarish