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

如何使用 JavaScript 检测跨域 Iframe 内的点击?

Barbara Streisand
发布: 2024-12-08 06:33:13
原创
212 人浏览过

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

使用 JavaScript 检测 iframe 内的点击

如果您正在寻找一种方法来确定用户是否在 iframe 内点击,您可以可能偶然发现跨域 iframe 无法直接在 JavaScript 中监控的限制。尽管如此,有一个聪明的技术可以帮助您实现目标。

解决方案在于在 iframe 上覆盖一个不可见的 div。当 iframe 内发生点击时,也会触发覆盖的 div 的点击事件。通过监听此事件,您可以间接检测 iframe 内的点击。

下面是一个代码示例来说明此方法:

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

// Ensure the main document has focus to register the blur event.
window.focus();

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

在此示例中,消息 div用于在 iframe 内发生点击时显示“clicked”以及时间戳。请注意,此方法在 Chrome、Firefox 和 IE 11(以及其他可能的浏览器)中有效。它提供了一个简单的解决方案来监控跨域 iframe 中的用户交互,特别是当您无法控制所使用的 iframe 标签时。

以上是如何使用 JavaScript 检测跨域 Iframe 内的点击?的详细内容。更多信息请关注PHP中文网其他相关文章!

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