iframe的document操作
Posted lcspring
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe的document操作相关的知识,希望对你有一定的参考价值。
导语:
在我写网页代填插件的时候,有遇到拿不到input元素的时候,这时候我去看元素布局,发现有些网站登录那一块是用iframe标签写的,这时候我需要取到的那就是iframe标签下input元素
1.获取页面上的所有iframe标签遍历获取每一个iframe
- 获取所有的iframe标签
let iframes = document.getElementsByTagName("iframe");
- 遍历获取单个iframe
for (let i = 0; i < iframes.length; i++) {
let iframeId = iframes[i].id;
let currentIframe = document.getElementById(iframeId);
}
取完整iframe元素必须用getElementById的方法获取。
2.获取iframe下document元素
let currentDoc = currentIframe.contentDocument || currentIframe.contentWindow.document
这里主要拿到iframe的document操作元素,有些浏览器可以直接contentDocument获取document操作元素,有些需要通过contentWindow.document获取
3.获取iframe中输入框
let inputs = currentDoc.getElementsByTagName("input");
这样就能获取iframe所有的输入框标签。
*注意:当iframe跨域的时候,就无法获取iframe的document操作。
链接:https://www.jianshu.com/p/9809cd8188dd
以上是关于iframe的document操作的主要内容,如果未能解决你的问题,请参考以下文章