zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SVN Monitor工具推荐
    Linux Netbeans汉化不全
    PMWiki安装教程
    JIRA重启服务器后需要重启TOMCAT的解决
    SVN分支与合并
    WCF无法捕获FaultException
    非完美C++ Singleton实现[转载]
    C语言结构体的对齐原则
    C++ STL 学习笔记
    字符串笔试题
  • 原文地址:https://www.cnblogs.com/lcspring/p/10850365.html
Copyright © 2011-2022 走看看