Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Membuka URL dengan Amanah dalam Tab Baharu dengan JavaScript?

Bagaimana untuk Membuka URL dengan Amanah dalam Tab Baharu dengan JavaScript?

Barbara Streisand
Barbara Streisandasal
2025-01-03 16:09:40423semak imbas

How to Reliably Open URLs in New Tabs with JavaScript?

Membuka URL dalam Tab Asingkan dengan JavaScript

Apabila cuba membuka URL dalam tab baharu menggunakan JavaScript, menggunakan kaedah yang biasa dicadangkan seperti tetingkap. open(url, '_blank'); masih boleh mengakibatkan tetingkap timbul. Artikel ini meneroka kaedah yang boleh dipercayai untuk memastikan pembukaan URL berlaku dalam tab baharu.

Penyelesaian: Menggunakan Kaedah Focus()

Untuk membuka URL dalam tab baharu dengan berkesan, masukkan kaedah fokus() bersebelahan dengan fungsi window.open. Berikut ialah kod yang diubah suai:

function openInNewTab(url) {
  window.open(url, '_blank').focus();
}

// Or simply
window.open(url, '_blank').focus();

Dengan memanggil focus() selepas membuka URL, penyemak imbas mengubah hala tab baharu ke keadaan fokus. Ini mengatasi gelagat lalai untuk mencipta tetingkap baharu, membolehkan anda membuka URL dalam tab berasingan secara konsisten.

Pelaksanaan

Penyelesaian boleh dilaksanakan terus dalam pengendali acara onclick untuk elemen yang anda inginkan untuk menghalang penyekat pop timbul. Sebagai alternatif, anda boleh menambah pendengar acara pada objek DOM yang anda tentukan. Berikut ialah contoh menggunakan HTML:

<div onclick="openInNewTab('www.test.com');">Something To Click On</div>

Kod ini, apabila diklik, akan membuka URL yang ditentukan dalam tab baharu. Perlu diingat bahawa teknik ini amat berguna dalam senario di mana penyekat pop timbul mungkin mengganggu tingkah laku yang dimaksudkan untuk membuka URL dalam tab.

Atas ialah kandungan terperinci Bagaimana untuk Membuka URL dengan Amanah dalam Tab Baharu dengan JavaScript?. 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
Artikel sebelumnya:#DAYSOFCODE: Hari ke-3Artikel seterusnya:#DAYSOFCODE: Hari ke-3