检测 Iframe 内的点击
传统上,跨域 iframe 在检测用户交互方面存在局限性。但是,可以通过利用位于 iframe 上的不可见 div 来跟踪 iframe 内的初始点击。
实现
在现代 Web 浏览器中,可以使用以下 JavaScript用于监控浏览器窗口的焦点:
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标记
为了完成设置,以下 HTML 标记添加了不可见的 div 和 iframe:
<div>
兼容性
此该解决方案已被验证可在 Chrome、Firefox 和 IE 11 中运行。它可能与其他浏览器兼容,因为好吧。
以上是如何检测跨域 iframe 内的点击?的详细内容。更多信息请关注PHP中文网其他相关文章!