Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Membuka Tab Baharu dalam Latar Belakang daripada JavaScript Tanpa Denyar?

Bagaimanakah Saya Boleh Membuka Tab Baharu dalam Latar Belakang daripada JavaScript Tanpa Denyar?

Barbara Streisand
Lepaskan: 2024-11-07 14:47:02
asal
839 orang telah melayarinya

How Can I Open a New Tab in the Background from JavaScript Without a Flash?

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();
Salin selepas log masuk

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);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan