Safari veya IE7'yi yeni bir sekme kullanarak yeni bir sayfa açmaya "zorlamaya" çalışıyorum .
Programlı olarak şunu kastediyorum:
window.open('page.html','newtaborsomething');
Safari veya IE7'yi yeni bir sekme kullanarak yeni bir sayfa açmaya "zorlamaya" çalışıyorum .
Programlı olarak şunu kastediyorum:
window.open('page.html','newtaborsomething');
Yanıtlar:
Bunu doğrudan kontrol edemezsiniz çünkü bu, Internet Explorer kullanıcıları tarafından kontrol edilen bir seçenektir.
Window.open'ı kullanarak sayfaları farklı bir pencere adıyla açmak, pop-up gibi yeni bir tarayıcı penceresinde, VEYA kullanıcı tarayıcıyı bu şekilde yapılandırdıysa yeni bir sekmede açılır .
Firefox'ta çalışır, yeni bir sekmenin açılmasını sağlamak için bağlantıya target = "_ newtab" niteliğini ekleyebilirsiniz.
<a href="some url" target="_newtab">content of the anchor</a>
JavaScript'te kullanabilirsiniz
window.open('page.html','_newtab');
Sam ile kısmen aynı fikirdeyim dedim. Bağlantıyı tıklamadan önce ne olacağına dair bir ipucu göstermeden kullanıcıyı yeni sayfalar veya yeni sekme açmaya zorlamamalısınız .
Başka bir tarayıcıda da çalışıp çalışmadığını bana bildirin (şu anda Firefox dışında başka bir tarayıcıda deneme şansım yok).
Düzenleme: ie7 için referans eklendi Belki bu bağlantı yararlı olabilir
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
Aşağıdakileri kullanmaya çalışanlarınız:
window.open('page.html', '_newtab');
gerçekten window.open yöntemine bakmalısınız.
Tek yaptığınız, tarayıcıya NAMED "_newtab" adlı yeni bir pencere açmasını ve içine page.html dosyasını yüklemesini söylemektir. Yüklediğiniz her yeni sayfa bu pencereye yüklenecektir. Ancak, bir kullanıcının tarayıcısı yeni pencereler yerine yeni sekmelerde yeni sayfalar açacak şekilde ayarlanmışsa, bir sekme açacaktır. Ne olursa olsun, pencere veya sekme için aynı adı kullanıyor.
Farklı sayfaların farklı pencerelerde veya sekmelerde açılmasını istiyorsanız, yeni pencerenin / sekmenin ADını aşağıdaki gibi farklı bir şeye değiştirmeniz gerekecektir:
window.open('page2.html', '_newtab2');
Elbette yeni pencere / sekmenin adı _newtab2 yerine page1, page2, page3 vb. Gibi herhangi bir ad olabilir.
Yeni sekmeler veya yeni pencereler kullanmak isteyip istemedikleri kullanıcıya bağlıdır, bu davranışı değiştirmek geliştiricinin işi değildir. Yapabileceğini sanmıyorum.
Evcil hayvanım - sitelerin beni yeni bir pencerede / sekmede açmaya zorlamasından nefret ediyorum - bu kararı kendim verebiliyorum. Özellikle javascript ile yaptıklarında - bu gerçekten yararsızdır.
Zaten denedin mi
var open_link = window.open('','_blank');
open_link.location="somepage.html";
Chrome'da öğrendim
window.open('page.html','_newtab')
sadece bir kez çalışacak.
Kullanabilirsiniz:
window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));
Birden çok yeni sekme açmak için.
JQuery ile kullandığım kod:
$("a.btn_external").click(function() {
url_to_open = $(this).attr("href");
window.open(url_to_open, '_blank');
return false;
});
Bu, bir çocuktaki bir ebeveynin tıklama olaylarını ayırt etmek için kullanışlıdır. Bu yöntemi kullanarak, üst öğenin tıklama olayını tetiklemezsiniz.
<a href="page.html" target="_blank">foo</a>
Bu% 100 çalışıyor
window.open('http://www.google.com/','_newtab' + Date.now());
İsterseniz, biraz karmaşık olan ancak istenen işlevselliği sunan bu yöntemi kullanabilirsiniz:
jQuery('<a/>', {
id: 'foo',
href: 'http://google.com',
title: 'Become a Googler',
rel: 'external',
text: 'Go to Google!',
target:'_blank',
style:'display:none;'
}).appendTo('#mySelector');
$('#foo').click()
Bu, bir toplu iş dosyasını çağırabilirseniz işe yarayabilir (XP sp2 ve IE8 ile php kullanıyorum ... IE7'yi deneyebilirsiniz, dunno). Windows'u açmak için .bat dosyanızda aşağıdakini (veya benzerini) kullanın: Başlat "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Tırnak işareti ile C: \ Progr ... vb. Arasında boşluk yoktur. Bir noktada, bu yeni sekmeler yerine yeni pencereler (yani hedef = "_ boşluk") açmaya başlayabilir, ancak bir noktaya kadar çalışır; kapsamlı olarak test edilmemiştir. Bunu normal bir toplu iş dosyasında (CMD.exe) kullanmak için, muhtemelen açık bir pencerenizin olması gerekir. Sadece rastladığım bir şeyi paylaşıyorum. Açıklama için DÜZENLENDİ.
<a href="http://www.google.com/" target="_self">New Tab Example</a>
IE7'de çalışır.
Saygılarımızla,
Glenn