Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengesan Klik Di Dalam iFrame Merentas Domain Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mengesan Klik Di Dalam iFrame Merentas Domain Menggunakan JavaScript?

Patricia Arquette
Lepaskan: 2024-11-30 03:16:14
asal
142 orang telah melayarinya

How Can I Detect Clicks Inside a Cross-Domain iFrame Using JavaScript?

Menangkap Klik dalam Cross-Domain iFrames dengan JavaScript

Mengesan interaksi pengguna dalam iFrames merentas domain boleh mencabar disebabkan oleh sekatan keselamatan. Walau bagaimanapun, adalah mungkin untuk menjejak sama ada klik telah berlaku dalam iframe menggunakan pendekatan kreatif.

Penyelesaian:

Untuk menangkap peristiwa klik daripada iframe, pertimbangkan pendekatan berikut:

1. Cipta Div Halimunan:

Letakkan div halimunan terus di atas iframe. Div ini akan menangkap sebarang klik dalam iframe.

2. Gunakan Acara Kabur Tetingkap:

Apabila pengguna mengklik dalam iframe, ia menyebabkan tetingkap induk hilang fokus. Dengan mendengar acara kabur tetingkap, anda boleh mengesan klik.

3. Semak Elemen Aktif:

Dalam pengendali acara kabur, semak sama ada elemen aktif ialah IFRAME. Jika ya, klik berlaku dalam iframe.

4. Beritahu Acara:

Kemas kini elemen yang ditentukan, seperti

, untuk menunjukkan bahawa klik telah berlaku dalam iframe.

Coretan Kod:

Contoh berikut menunjukkan cara melaksanakan perkara ini penyelesaian:

const message = document.getElementById("message");

// Focus main document to detect iframe clicks
window.focus();

window.addEventListener("blur", () => {
  setTimeout(() => {
    if (document.activeElement.tagName === "IFRAME") {
      message.textContent = "clicked " + Date.now();
      console.log("clicked");
    }
  });
}, { once: true });
Salin selepas log masuk

Nota:

Penyelesaian ini mungkin tidak serasi dengan semua penyemak imbas dan mungkin menunjukkan isu dengan pengendalian masa dan fokus. Adalah disyorkan untuk menguji dan menyesuaikan kod agar sesuai dengan aplikasi khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Klik Di Dalam iFrame Merentas Domain Menggunakan JavaScript?. 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