Iframe 内でユーザーのクリックを検出する方法
課題:
ユーザーがiframe 内でクリックしたことは、特に iframe が別のドメイン (いわゆるクロスドメイン iframe).
解決策:
iframe 内のクリックを検出するには、iframe の境界の真上にある非表示の div を使用する賢い回避策を採用できます。ユーザーが iframe 内の任意の場所をクリックすると、div はクリック イベントをインターセプトして iframe に転送します。
実装:
メイン ドキュメントで、次のコードを作成します。要素:
<div>
次に、次の JavaScript を挿入します。コード:
const message = document.getElementById("message"); window.focus(); window.addEventListener("blur", () => { setTimeout(() => { if (document.activeElement.tagName === "IFRAME") { message.textContent = "clicked " + Date.now(); console.log("clicked"); } }); }, { once: true });
説明:
この手法は、クロスドメインの場合でも、ユーザーが iframe 内をクリックしたかどうかを追跡する信頼性の高い方法を提供します。
以上がクロスドメイン iframe 内のクリックを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。