document.elementFromPoint(x,y) 获取 iframe 内的元素

2023-11-30

我试图获取 html 页面中的元素,我使用 document.elementFromPoint(x,y) 来检测输入元素;当没有 iframe 时它工作正常。但在 iframe 内部,它在这段代码中不起作用

html如下

我错过了什么吗?

<html>
...
<div>
<div>
<iframe src="some source"..>  
<html>
..
<form>
<fieldset>
<input>

Thanks


根据文档here:

“如果指定点的元素属于另一个文档(例如,iframe 的子文档),则返回调用该方法的文档 DOM 中的元素(在 iframe 情况下,是 iframe 本身)。”

这意味着如果当前 DOM 上下文是 iframe 的父级,它应该返回 iframe。还有跨域安全问题您应该阅读 iframe 是否来自另一个域。

如果它来自您的域并且您希望获取 iframe 内的元素,您将执行以下操作:

var el = document.elementFromPoint(x, y);
if (el instanceof HTMLIFrameElement)
    el = el.contentWindow.document.elementFromPoint(x, y);  //Not sure if you need to update x, y to account for being inside another dom.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

document.elementFromPoint(x,y) 获取 iframe 内的元素 的相关文章

随机推荐

  • Python正则表达式解析

    我在 python 中有一个字符串数组 数组中的每个字符串看起来像这样
  • ValueError:合并时不允许负尺寸

    我正在将 2 个数据框合并在一起 他们原本是 csv每个文件只有 7 MB 2 列和 290 000 行 我这样合并 merge pd merge df1 df2 on POINTID how outer 在 32 位 Anaconda 中
  • 将矩阵每列中的 NA 替换为该列的中值

    我试图用该列的中位数替换矩阵每一列中的 NA 但是当我尝试使用lapply or sapply我收到一个错误 当我使用 for 循环并且一次更改一列时 代码有效 我做错了什么 Example set seed 1928 mat lt mat
  • 在php中获取当前一周的第一天和最后一天

    如何获取并显示本周第一天和最后一天的日期 所以在本周它将输出 2012 05 14 2012 05 20 今天是2012年5月17日 这怎么能简单地做到呢 try use 斯特托时间 first date Y m d strtotime l
  • FREETEXTTABLE 为什么或如何给出比其他人更高的排名值

    有一个存储过程在两个表上使用 FREETEXTTABLE 两次 然后合并结果并返回前 50 个 问题是 如果我搜索 Women of Brewster 结果会返回表 A 中排名为 143 的 Confession of an ex doof
  • jquery 一个滑块控制另一个

    如何让一个 jquery ui 滑块控制另一个 如果我滑动滑块 1 它也应该滑动滑块 2 创建滑块 1 时提供滑动 更改函数 该函数使用滑块 1 上正在更改的手柄的 ui value 并设置滑块 2 上的手柄值 根据滑块的手柄数量 您需要调
  • 强制使用 const 对象的 C++ 类

    首先让我问一个一般性问题 在我看来 C 是一种语言 其目的是提供大量功能 为程序员提供最大可能的灵活性 以他认为合适的方式做事 换句话说 它是一种灵活的语言 它允许程序员以比我见过的任何其他语言更多的方式表达自己 这是正确的吗 然后是具体的
  • static_cast(*this) 和 static_cast(*this) 之间的区别

    在下面的代码中 取自Effective C class A char operator std size t position now just calls const op return const cast
  • 如何正确调用setListAdapter

    我已经搜索了很多如何解决这个问题 但没有得到任何结果 我需要的唯一帮助是 请看一下 stackoverflow 上提出的这个问题和答案 这是来自的问题this link 我的活动不扩展 ListActivity 因此此行会引发错误 setL
  • 获取进程/线程的上下文切换次数

    出于好奇 我想知道我的程序被操作系统切换了多少次上下文 就像所有寄存器都被保存并且控制权被传递给另一个进程或线程一样 然后一段时间后一切都恢复了 我们继续 因为它从未发生过 系统是否在某个地方维护了这样的数字 或者是否存在某种黑客行为或其他
  • 将标签与其各自的字段 Swing 一起排列

    我需要将所有字段与相应的标签对齐 这是我的代码 public class Progress extends JPanel implements ActionListener public JLabel ClientIP JTextField
  • 错误渲染视图:java.lang.IllegalStateException:已为此响应调用 getOutputStream()

    我正在 JSF 和 spring 中创建一个项目 其主要目的是在浏览器中生成 PDF 文件 一切看起来都很好 也生成了 pdf 但在控制台上我遇到了这个异常 有人对此有任何想法吗 我搜索了一下 发现很多人都有这个问题 但我没有找到适合我的问
  • CSS、嵌套 div 和边距与填充

    我完全理解盒子模型 这个问题更多的是试图确定关于何时使用边距和何时使用填充的语义方法 这是一个典型的例子 首先 用简单的英语来说 情况 我们有一个容器div 里面有一个段落元素 目标 在 div 内部和段落外部之间有 12px 的空间 选项
  • C# Windows Universal 10 TopMost 窗口

    我正在开发一个 Windows 10 通用应用程序 UWP 是否可以将应用程序设置为 TopMost 始终位于顶部 喜欢WPF or Winforms 最上面的属性 Thanks Creators Update 中添加了一项名为 Compa
  • 映射两个列表[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我最近问了一个关于使用apply函数作用于两个列表 每
  • 什么 SQL 查询或视图将显示“动态列”

    我有一个数据表 我允许人们向该表添加元数据 我为他们提供了一个界面 允许他们将其视为向存储数据的表添加额外的列 但实际上我将数据存储在另一个表中 Data Table DataID Data Meta Table DataID MetaNa
  • CSS 元素恢复默认样式

    CSS 中有没有一种快速的方法来删除应用于元素的所有样式 例如 假设某种选项卡菜单 div class outer div div div div div div div div div CSS 应用 outer foo blee bar
  • 自定义地图功能 - 它是如何工作的?

    对于不清楚的主题标题 我深表歉意 我在计划中有这个函数 它是map功能 它工作得很好 但我在试图理解它时迷失了方向 define my map proc ls letrec iter lambda proc ls0 if null ls0
  • C++ 使用多个分隔符分解字符串[重复]

    这个问题在这里已经有答案了 可能的重复 C 中通过多个分隔符将字符串拆分为单词 我目前正在尝试读取一个文件 其中每行都有不同的制表符和空格 用于分隔需要插入二叉树中的关键属性 我的问题是 如何仅使用 STL 使用多个分隔符分割一行 在一天的
  • document.elementFromPoint(x,y) 获取 iframe 内的元素

    我试图获取 html 页面中的元素 我使用 document elementFromPoint x y 来检测输入元素 当没有 iframe 时它工作正常 但在 iframe 内部 它在这段代码中不起作用 html如下 我错过了什么吗 di