Mengesan Klik Dalam iframe Menggunakan JavaScript
Jika anda sedang mencari cara untuk menentukan sama ada pengguna telah mengklik dalam iframe, anda mungkin terjumpa had bahawa iframe merentas domain tidak boleh dipantau secara langsung dalam JavaScript. Namun begitu, terdapat teknik bijak yang boleh membantu anda mencapai matlamat anda.
Penyelesaian terletak pada tindanan div yang tidak kelihatan pada iframe. Apabila klik berlaku dalam iframe, ia juga akan mencetuskan peristiwa klik untuk div tindanan. Dengan mendengar acara ini, anda secara tidak langsung boleh mengesan klik dalam iframe.
Berikut ialah contoh kod untuk menggambarkan pendekatan ini:
const message = document.getElementById("message"); // Ensure the main document has focus to register the blur event. window.focus(); window.addEventListener("blur", () => { setTimeout(() => { if (document.activeElement.tagName === "IFRAME") { message.textContent = "clicked " + Date.now(); console.log("clicked"); } }); }, { once: true });
<div>
Dalam contoh ini, div mesej digunakan untuk memaparkan "diklik" bersama-sama dengan cap masa apabila klik berlaku dalam iframe. Ambil perhatian bahawa pendekatan ini berfungsi dengan berkesan dalam Chrome, Firefox dan IE 11 (dan kemungkinan penyemak imbas lain juga). Ia menyediakan penyelesaian yang mudah untuk memantau interaksi pengguna dalam iframe merentas domain, terutamanya apabila anda tidak mempunyai kawalan ke atas teg iframe yang digunakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Klik Di Dalam Iframe Rentas Domain Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!