Saya mencoba untuk "memaksa" Safari atau IE7 membuka halaman baru menggunakan tab baru .
Secara terprogram, maksud saya seperti:
window.open('page.html','newtaborsomething');
Saya mencoba untuk "memaksa" Safari atau IE7 membuka halaman baru menggunakan tab baru .
Secara terprogram, maksud saya seperti:
window.open('page.html','newtaborsomething');
Jawaban:
Anda tidak dapat mengontrol ini secara langsung, karena ini adalah opsi yang dikontrol oleh pengguna Internet Explorer.
Membuka halaman menggunakan Window.open dengan nama jendela yang berbeda akan terbuka di jendela browser baru seperti popup, ATAU buka di tab baru, jika pengguna mengkonfigurasi browser untuk melakukannya.
Anda dapat, di Firefox berfungsi, menambahkan atribut target = "_ newtab" ke jangkar untuk memaksa pembukaan tab baru.
<a href="some url" target="_newtab">content of the anchor</a>
Dalam javascript Anda bisa menggunakan
window.open('page.html','_newtab');
Mengatakan itu, saya setuju sebagian dengan Sam. Anda tidak boleh memaksa pengguna untuk membuka halaman baru atau tab baru tanpa menunjukkan petunjuk tentang apa yang akan terjadi sebelum mereka mengklik link tersebut.
Beri tahu saya jika ini juga berfungsi di browser lain (saya tidak memiliki kesempatan untuk mencobanya di browser selain Firefox saat ini).
Edit: referensi tambahan untuk ie7 Mungkin tautan ini bisa berguna
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
Bagi Anda yang mencoba menggunakan yang berikut ini:
window.open('page.html', '_newtab');
harus benar-benar melihat metode window.open.
Yang Anda lakukan hanyalah memberi tahu browser untuk membuka jendela baru NAMED "_newtab" dan memuat page.html ke dalamnya. Setiap halaman baru yang Anda muat akan dimuat ke jendela itu. Namun, jika browser pengguna disetel untuk membuka halaman baru di tab baru, bukan di jendela baru, itu akan membuka tab. Terlepas dari itu, itu menggunakan nama yang sama untuk jendela atau tab.
Jika Anda ingin halaman yang berbeda dibuka di jendela atau tab yang berbeda, Anda harus mengubah NAMA jendela / tab baru menjadi sesuatu yang berbeda seperti:
window.open('page2.html', '_newtab2');
Tentu saja nama untuk jendela / tab baru dapat berupa nama apa saja seperti halaman1, halaman2, halaman3, dll., Bukan _newtab2.
Terserah pengguna apakah mereka ingin menggunakan tab baru atau jendela baru, bukan urusan pengembang untuk mengubah perilaku ini. Saya tidak berpikir Anda bisa melakukannya.
Hewan peliharaan kesal saya - Saya benci jika situs memaksa saya untuk membuka di jendela / tab baru - Saya cukup mampu membuat keputusan itu sendiri. Terutama ketika mereka melakukannya dalam javascript - itu sangat tidak membantu.
Apakah Anda sudah mencoba suka
var open_link = window.open('','_blank');
open_link.location="somepage.html";
Saya menemukan di Chrome,
window.open('page.html','_newtab')
hanya akan bekerja sekali.
Kamu bisa memakai:
window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));
Untuk membuka banyak tab baru.
Kode yang saya gunakan dengan jQuery:
$("a.btn_external").click(function() {
url_to_open = $(this).attr("href");
window.open(url_to_open, '_blank');
return false;
});
Ini berguna untuk membedakan antara peristiwa klik dari induk pada anak. Dengan menggunakan metode ini, Anda tidak memicu peristiwa klik induknya.
<a href="page.html" target="_blank">foo</a>
Ini bekerja 100%
window.open('http://www.google.com/','_newtab' + Date.now());
Jika Anda mau, Anda dapat menggunakan metode ini, yang sedikit hacky, tetapi akan menawarkan fungsionalitas yang diinginkan:
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()
Ini dapat berfungsi jika Anda dapat memanggil file batch (saya menggunakan php dengan XP sp2 dan IE8 ... Anda dapat mencoba IE7, tak tahu). Gunakan perintah berikut (atau serupa) di file .bat Anda untuk membuka Windows: Mulai "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Tidak ada spasi antara tanda kutip dan C: \ Progr ... dll. Pada titik tertentu, ini mungkin mulai membuka jendela baru (yaitu, target = "_ blank") daripada tab baru, tetapi berfungsi sampai titik tertentu; tidak diuji secara ekstensif. Untuk menggunakan ini dalam file batch biasa (CMD.exe), Anda mungkin perlu memiliki jendela yang sudah terbuka. Hanya berbagi sesuatu yang saya temukan. DIEDIT untuk klarifikasi.
<a href="http://www.google.com/" target="_self">New Tab Example</a>
Bekerja di IE7.
Salam,
Glenn