2011-02-28 21 views
273

Üçüncü taraf geliştiriciden bir JavaScript dosyanız var. Mevcut sayfayı hedefle değiştiren bir bağlantıya sahiptir. Bu sayfanın yeni bir sekmede açılmasını istiyorum.JavaScript: location.href yeni pencerede/sekmede açmak için?

if (command == 'lightbox') { 
location.href="https://support.wwf.org.uk/earth_hour/index.php?type=individual"; 
} 

kimse bana yardım edebilir:

Bu defa ne var?

cevap

677
window.open(
    'https://support.wwf.org.uk/earth_hour/index.php?type=individual', 
    '_blank' // <- This is what makes it open in a new window. 
); 
+78

Worth şöyle tıklayın ayar). – jAndy

+3

@alex Önemli bit okunabilir hale getirmek için bu cevabı düzenledim. Biçimlendirmemi onaylamazsanız, ikinci parametrenin döndürme bölgesi içine sığması için URL'yi kısaltmanızı önerebilir miyim? – Phrogz

+3

@Phrogz I * do * biçimlendirmenizi onaylıyor :) – alex

8

window.open('https://support.wwf.org.uk/earth_hour/index.php?type=individual'); ile yeni bir pencerede açabilirsiniz. Yeni sekmede açmak isterseniz, geçerli sayfayı iki sekmede açın ve sonra da hem geçerli sayfa hem de yeni sayfa elde edilecek şekilde komut dosyasının çalışmasını sağlayın.

11

Popup sorunlarını önlemek için location.href numaralı telefonu kullanmak istiyorsanız, boş bir <a> ref kullanın ve daha sonra javascript'i kullanın. (Yeni bir sekme veya pencere oluşturulduktan olsun, ** tarayıcı tarafından karar verilir **: HTML

<a id="anchorID" href="mynewurl" target="_blank"></a> 

gibi

şey Sonra javascript söz

document.getElementById("anchorID").click(); 
+6

Bu çözüm için umutluydum, ancak yine de pop-up bloğu tetikliyor gibi görünüyor (en azından Chrome'da). Tarayıcının bir javascript tıklaması olduğunun farkında olduğunu ve farklı bir şekilde davrantığını hissediyorum. –

+0

Teşekkür ederim Nathan. Sen oldukça haklısın. Hala bir pop-up blok mesajı alırsınız. İyileştiğimi düşündüm. Teoride işe yaramalıydı. Andrew –

+1

'$ (" # anchorID ") [0] .click();' bu çözümü jquery ile kullanmak için. – theBell

İlgili konular