yeni sekmede javascript window.location


124

Kullanıcıyı bir url'ye yönlendiriyorum window.locationama bu url tarayıcıda aynı sekmede açılıyor. Yeni sekmede açılmasını istiyorum. Bunu window.location ile yapabilir miyim? Bu eylemi yapmanın başka bir yolu var mı?



window.locationbir gereklilik? Veya başka JS çözümleri sunulabilir mi?
Khez

@Khez: diğer JS sunulabilir.
Muhammad Imran Tariq

Yanıtlar:


28

Bir tarayıcı uzantısı yazmadığınız sürece bunu yapmanın bir yolu olduğunu sanmıyorum. window.openKullanıcının tarayıcısını yeni sekmelerde yeni pencereler açacak şekilde ayarlamasını umarak deneyebilirsiniz .


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

İkinci parametre, yeni bir pencerede açılmasını sağlayan şeydir. Jakob Nielsen'in bilgilendirici makalesini okumayı unutmayın :)


10
ama ya tarayıcınız açılır pencerede ayarları engellediyse? bu uyanmayacak.
2017

@Alex meh ... gerçekten "doğru" cevap değil. Bunu, açılır pencereleri engellediğim Firefox'ta denediğimde, bu kod başarısız oluyor.
TARKUS


14

Bu benim için Chrome 53'te çalışıyor. Başka hiçbir yerde test edilmedi:

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

6

jQuery ile daha da kolay ve Chrome'da da çalışıyor

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

6

Hatta kullanabilirsin

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

Pop-up engellenirse, bu aynı sekmede açacaktır.


Şaşırtıcı VEYA mantığı
Hammad Sajid

1
Teşekkür ederim! Bu harika çalıştı.
thenomadicmann

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.