新しいタブのjavascript window.location


123

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



window.location要件はありますか?それとも他のJSソリューションを提供できますか?
Khez

@Khez:他のJSを提供できます。
ムハンマドイムランタリク

回答:


27

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


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

2番目のパラメーターは、新しいウィンドウで開くようにするものです。Jakob Nielsenの有益な記事を読むことを忘れないでください:)


10
しかし、ブラウザがポップアップの設定をブロックしている場合はどうなりますか?これは中華鍋ではありません。
pregmatch 2017

@Alex meh ...実際には「正しい」答えではありません。ポップアップウィンドウを防ぐFirefoxでこれを試してみると、このコードは失敗します。
TARKUS、

14

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

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

6

jQueryを使用するとさらに簡単になり、Chromeでも動作します

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

5

あなたも使うことができます

window.open('https://support.wwf.org.uk', "_blank") || window.location.replace('https://support.wwf.org.uk');

ポップアップがブロックされている場合は、同じタブで開きます。


すばらしいORロジック
Hammad Sajid

1
ありがとうございました!これはうまくいきました。
thenomadicmann

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.