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操作的主要内容,如果未能解决你的问题,请参考以下文章

iframe的document操作

js获取iframe 然后操作--》点击iframe的document或body的时候,修改父窗体的样式

jquery方法操作iframe元素

js对iframe内外(父子)页面进行操作

百度地图和js操作iframe

html里面,点击按钮时,怎么使用js或jq给iframe里面的表单赋值和提交