首页 > web前端 > js教程 > 如何检测跨域 iframe 内的点击?

如何检测跨域 iframe 内的点击?

Mary-Kate Olsen
发布: 2024-12-01 17:24:11
原创
448 人浏览过

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

检测 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板