Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Membuka Tab Baharu di Latar Belakang Tanpa Berkelip dalam Chrome?

Bagaimana untuk Membuka Tab Baharu di Latar Belakang Tanpa Berkelip dalam Chrome?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 10:47:03881semak imbas

How to Open a New Tab in the Background Without Flashing in Chrome?

Membuka Tab Baharu dalam Latar Belakang Tanpa Tab Berkelip

Dalam JavaScript, membuka halaman baharu dalam tab lain sambil kekal fokus pada tab semasa adalah mungkin. Walau bagaimanapun, dalam Chrome, proses ini boleh menghasilkan kilat seketika pada tab baharu sebelum bertukar kembali kepada asal. Ini mungkin tidak diingini.

Satu penyelesaian untuk isu ini ialah mensimulasikan acara papan kekunci, seperti menekan klik "Ctrl", pada elemen yang dijana secara dinamik dengan URL yang dikehendaki. Pendekatan ini mensimulasikan tingkah laku yang sama seperti membuka tab baharu secara manual di latar belakang.

Kod berikut menunjukkan cara untuk mencapai ini:

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.google.com/";
    var evt = document.createEvent("MouseEvents");
    // Set the tenth parameter of initMouseEvent to simulate the "Ctrl" key.
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}

Dengan melaksanakan kod ini, tab latar belakang baharu akan dibuka tanpa menyebabkan denyar yang mengganggu dalam Chrome. Sila ambil perhatian bahawa pendekatan ini mungkin tidak berfungsi dalam semua penyemak imbas, tetapi ia telah berjaya diuji dalam versi terkini Chrome.

Atas ialah kandungan terperinci Bagaimana untuk Membuka Tab Baharu di Latar Belakang Tanpa Berkelip dalam Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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