Rumah > Artikel > hujung hadapan web > Bagaimana untuk Membuka Tab Baharu di Latar Belakang Tanpa Menukar Fokus?
Membuka Tab Baharu dalam Latar Belakang tanpa Menukar Fokus
Dalam soalan ini, pengguna berusaha untuk membuka tab baharu dalam tab berasingan tanpa menyebabkan sebarang peralihan fokus ke tab baharu. Mereka menunjukkan percubaan menggunakan kaedah open() dan focus(), tetapi menemui kilat seketika tab baharu sebelum kembali ke tab semasa dalam Chrome.
Walau bagaimanapun, jawapan yang disediakan memberikan penyelesaian alternatif menggunakan acara simulasi untuk memintas isu ini.
Penghantaran Acara Tersuai
Kunci untuk mencapai tingkah laku ini terletak pada mencipta elemen dan memberikan atribut hrefnya kepada URL yang dikehendaki. Selepas itu, peristiwa (dalam kes ini, klik tetikus) dicipta dan dimulakan dengan parameter tertentu, termasuk pengubah suai kunci "ctrl". Ini mencontohi tindakan menahan kekunci "ctrl" sambil mengklik pada pautan, yang merupakan tingkah laku lalai untuk membuka tab baharu di latar belakang.
Pelaksanaan
Kod yang disediakan menunjukkan ini teknik:
function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.google.com/"; var evt = document.createEvent("MouseEvents"); //the tenth parameter of initMouseEvent sets ctrl key evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); a.dispatchEvent(evt); }
Kesimpulan
Dengan memanfaatkan simulasi peristiwa, penyelesaian ini secara berkesan membuka tab baharu di latar belakang tanpa menjejaskan fokus tab semasa. Teknik ini amat berguna untuk sambungan penyemak imbas atau penanda halaman yang mengekalkan fokus pada tab semasa adalah penting untuk pengalaman pengguna yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk Membuka Tab Baharu di Latar Belakang Tanpa Menukar Fokus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!