Bolehkah saya Membuka Tab Baharu di Latar Belakang Semasa Kekal pada Tab Semasa?
Apabila bekerja dengan JavaScript, adalah mungkin untuk membuka halaman baharu dalam tab lain sambil kekal fokus pada tab semasa menggunakan kod berikut:
open('http://example.com/'); focus();
Walau bagaimanapun, pendekatan ini mungkin menyebabkan kilat seketika pada tab baharu sebelum beralih kembali ke tab semasa dalam Chrome . Untuk mengelakkan isu ini, kaedah yang lebih canggih diperlukan.
Penyelesaian: Mensimulasikan Peristiwa Utama
Penyelesaian ini melibatkan simulasi gabungan kekunci (cth., Ctrl klik) pada dijana secara dinamik elemen untuk membuat tab latar belakang. Kod berikut mencapai ini:
function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.google.com/"; var evt = document.createEvent("MouseEvents"); // Simulate Ctrl key press evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); a.dispatchEvent(evt); }
Kaedah ini berfungsi dengan mencipta elemen, menetapkan atribut hrefnya kepada URL yang diingini, dan kemudian menghantar acara klik dengan kekunci "Ctrl" yang disimulasikan. Ini mengakibatkan tab latar belakang dibuka tanpa menjejaskan fokus tab semasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuka Tab Baharu dalam Latar Belakang daripada JavaScript Tanpa Denyar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!