我试图获取 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(使用前将#替换为@)