javascript window.location di tab baru


124

Saya mengalihkan pengguna ke beberapa url melalui window.locationtetapi url ini terbuka di tab yang sama di browser. Saya ingin dibuka di tab baru. Bisakah saya melakukannya dengan window.location? Apakah ada cara lain untuk melakukan tindakan ini?



Apakah window.locationsuatu persyaratan? Atau dapatkah solusi JS lain ditawarkan?
Khez

@Khez: JS lain bisa ditawarkan.
Muhammad Imran Tariq

Jawaban:


28

Saya rasa tidak ada cara untuk melakukan ini, kecuali Anda sedang menulis ekstensi browser. Anda dapat mencoba menggunakan window.opendan berharap browser pengguna disetel untuk membuka jendela baru di tab baru.


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

Parameter kedua adalah yang membuatnya terbuka di jendela baru. Jangan lupa baca artikel informatif Jakob Nielsen :)


10
tetapi bagaimana jika browser Anda telah memblokir pengaturan pada popup? ini tidak akan berhasil.
pregmatch

@ Alex meh ... bukan jawaban yang "benar". Mencoba ini di Firefox, di mana saya mencegah jendela pop-up, kode ini gagal.
TARKUS

Bekerja dari bookmarklet saya di Edge 84.
Ryan Rodemoyer

14

Ini berfungsi untuk saya di Chrome 53. Belum diuji di tempat lain:

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

6

dengan jQuery lebih mudah dan berfungsi di Chrome juga

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

6

Anda bahkan bisa menggunakan

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

Ini akan membukanya di tab yang sama jika pop-up diblokir.


Luar biasa OR logika
Hammad Sajid

1
Terima kasih! Ini bekerja dengan baik.
thenomadicmann

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.