最近遇到一个需求,写一个公共的js方法,用xpath获取页面中的元素的值,然后找了一下,发现可以这样获取:

function _x(STR_XPATH) {var xresult = document.evaluate(STR_XPATH, document, null, XPathResult.ANY_TYPE, null);var xnodes = [];var xres;while (xres = xresult.iterateNext()) {xnodes.push(xres);}return xnodes;
}

写了一个扩展程序 把这段js运行在页面中 发现获取iframe元素会有取不到的情况 js中获取iframe元素的方法如下:

document.getElementById('iframe的ID').contentWindow.document.getElementById('元素的ID')

受这个启发,把函数改写了一下:

function getAllNode(xpath,iframeId){if(arguments.length == 1 || (arguments.length > 1 && (!iframeId || iframeId=="null" || iframeId=="undefined" || iframeId=="none"))){var xresult = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null);}else if(arguments.length > 1){var xresult = document.getElementById(iframeId).contentWindow.document.evaluate(xpath, document.getElementById(iframeId).contentWindow.document, null, XPathResult.ANY_TYPE, null);}var xnodes = [];var xres;while (xres = xresult.iterateNext()) {xnodes.push(xres);}return xnodes;}

测试了一下 一层iframe的情况下是可以取到iframe里的元素的 多层iframe嵌套的情况没有测试 可能会不行

js中用xpath获取iframe中的元素相关推荐

  1. Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法

     在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素  1. 格式:win ...

  2. js取iframe 上级页面_原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法...

    用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色 ...

  3. 获取父窗口元素或者获取iframe中的元素(相同域名下)

    jquery方法 在父窗口中获取iframe中的元素 //方法1 $("#iframe的ID").contents().find("iframe中的元素");/ ...

  4. 【学习】如何用jQuery获取iframe中的元素

    (我的博客网站中的原文:http://www.xiaoxianworld.com/archives/292,欢迎遇到的小伙伴常来瞅瞅,给点评论和建议,有错误和不足,也请指出.) 说实在的,以前真的很少 ...

  5. js获取iframe中的元素_在 HTML 中包含资源的新思路

    作者:scott jehl 翻译:疯狂的技术宅 原文:https://www.filamentgroup.com/lab/html-includes/未经许可严禁转载 注意:这篇文章描述了一种我们仍需 ...

  6. Jquery获取iframe中的元素

    2019独角兽企业重金招聘Python工程师标准>>> iframe与父页面之间相互获取元素的方法: 1.从父页面中获取iframe页面中的元素: 用法: $(window.fram ...

  7. html中iframe全屏显示,如何让iframe中的元素全屏

    最近项目中iframe让人恶心,iframe只要一出现,写的正常代码就容易出现各种bug,比如iframe中的元素不能document.getElementBy...正常获取,比如iframe中的元素 ...

  8. chrome 扩展开发 - 如何获得iframe中的元素 和 相关问题解答

    记一次需求完成的经过,要获取iframe中的元素,然后在页面进行分段跳转和相关操作,途中遇到了几个问题,方便后续自我回忆. 问题一  chrome扩展开发中 Popup页面无法持续保持的问题 [未解决 ...

  9. 用JS访问iframe中的元素

    用JS访问iframe中的元素 1.首先,如何访问iframe中的元素?见如下代码: (1)1.htm源码: <input  type=button value="test" ...

最新文章

  1. Ajax Toolkit日历控件CalendarExtender求教!
  2. CTFshow php特性 web134
  3. glibc-2.23学习笔记(二)—— free部分源码分析
  4. 单片机最小系统制作记录
  5. 关于flink的setCommitOffsetsOnCheckpoints
  6. 全新一代人工智能计算引擎MaxCompute杭州开服,强化阿里云大数据能力,比肩谷歌微软...
  7. html div如何列对其,CSS:自适应N列布局如何解决两端对齐
  8. 响应式图像对齐中心引导3
  9. Test on 2018.10.21
  10. Mac 安装 Grunt
  11. 程序中的@Override是什么意思?
  12. rails mysql优化_Ruby on Rails中的MySQL性能
  13. volatility内存取证----命令演示
  14. python cad自动画图软件_科研画图都用什么软件?
  15. Origin上下标输入
  16. java物流项目描述_java-web模块物流项目四
  17. 2021-07-06
  18. design contains shelved or modified (but not repoured) polygons. the result....继续铺铜还是报警,解决方案如下:
  19. uniapp中回退到上一页面并触发函数的方法
  20. 首创Domino前后端彻底分离,结合vue、react优美例子

热门文章

  1. 智能优化算法之萤火虫算法(FA)的实现(Python附源码)
  2. 成功,取决于你和什么样的人在一起
  3. java事务抛异常_java中抛异常后如何使事务回滚
  4. 学堂在线-程序设计基础-第四章
  5. 固定资产管理需求分析说明书
  6. 大数据时代,香港成为IDC发展新战略区域
  7. 微博API接口的调用
  8. 计算机及接口技术的测试题,微型计算机原理与接口技术测试题
  9. 计算机实训机器人实验原理是什么,实验报告机器人控制技术基础实验报告.doc...
  10. 虚幻引擎 服务器作用_虚幻引擎5会在下一代平台上发挥作用吗?