Heim >Web-Frontend >js-Tutorial >Wie kann ich Klicks innerhalb eines domänenübergreifenden Iframes erkennen?

Wie kann ich Klicks innerhalb eines domänenübergreifenden Iframes erkennen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-01 17:24:11373Durchsuche

How Can I Detect Clicks Inside a Cross-Domain Iframe?

Klicks innerhalb eines Iframes erkennen

Traditionell stellen domänenübergreifende Iframes Einschränkungen bei der Erkennung von Benutzerinteraktionen dar. Es ist jedoch möglich, erste Klicks innerhalb von Iframes zu verfolgen, indem ein unsichtbares Div verwendet wird, das über dem Iframe positioniert ist.

Implementierung

In modernen Webbrowsern kann das folgende JavaScript sein Wird verwendet, um den Fokus des Browserfensters zu überwachen:

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

// Ensure the main document is focused to trigger window blur when the iframe is interacted with.
window.focus();

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

HTML Markup

Um die Einrichtung abzuschließen, fügt das folgende HTML-Markup das unsichtbare Div und den Iframe hinzu:

<div>

Kompatibilität

Dies Es wurde bestätigt, dass die Lösung in Chrome, Firefox und IE 11 funktioniert. Sie ist wahrscheinlich auch mit weiteren Browsern kompatibel.

Das obige ist der detaillierte Inhalt vonWie kann ich Klicks innerhalb eines domänenübergreifenden Iframes erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn