js中用xpath获取iframe中的元素
最近遇到一个需求,写一个公共的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中的元素相关推荐
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1. 格式:win ...
- js取iframe 上级页面_原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法...
用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色 ...
- 获取父窗口元素或者获取iframe中的元素(相同域名下)
jquery方法 在父窗口中获取iframe中的元素 //方法1 $("#iframe的ID").contents().find("iframe中的元素");/ ...
- 【学习】如何用jQuery获取iframe中的元素
(我的博客网站中的原文:http://www.xiaoxianworld.com/archives/292,欢迎遇到的小伙伴常来瞅瞅,给点评论和建议,有错误和不足,也请指出.) 说实在的,以前真的很少 ...
- js获取iframe中的元素_在 HTML 中包含资源的新思路
作者:scott jehl 翻译:疯狂的技术宅 原文:https://www.filamentgroup.com/lab/html-includes/未经许可严禁转载 注意:这篇文章描述了一种我们仍需 ...
- Jquery获取iframe中的元素
2019独角兽企业重金招聘Python工程师标准>>> iframe与父页面之间相互获取元素的方法: 1.从父页面中获取iframe页面中的元素: 用法: $(window.fram ...
- html中iframe全屏显示,如何让iframe中的元素全屏
最近项目中iframe让人恶心,iframe只要一出现,写的正常代码就容易出现各种bug,比如iframe中的元素不能document.getElementBy...正常获取,比如iframe中的元素 ...
- chrome 扩展开发 - 如何获得iframe中的元素 和 相关问题解答
记一次需求完成的经过,要获取iframe中的元素,然后在页面进行分段跳转和相关操作,途中遇到了几个问题,方便后续自我回忆. 问题一 chrome扩展开发中 Popup页面无法持续保持的问题 [未解决 ...
- 用JS访问iframe中的元素
用JS访问iframe中的元素 1.首先,如何访问iframe中的元素?见如下代码: (1)1.htm源码: <input type=button value="test" ...
最新文章
- Ajax Toolkit日历控件CalendarExtender求教!
- CTFshow php特性 web134
- glibc-2.23学习笔记(二)—— free部分源码分析
- 单片机最小系统制作记录
- 关于flink的setCommitOffsetsOnCheckpoints
- 全新一代人工智能计算引擎MaxCompute杭州开服,强化阿里云大数据能力,比肩谷歌微软...
- html div如何列对其,CSS:自适应N列布局如何解决两端对齐
- 响应式图像对齐中心引导3
- Test on 2018.10.21
- Mac 安装 Grunt
- 程序中的@Override是什么意思?
- rails mysql优化_Ruby on Rails中的MySQL性能
- volatility内存取证----命令演示
- python cad自动画图软件_科研画图都用什么软件?
- Origin上下标输入
- java物流项目描述_java-web模块物流项目四
- 2021-07-06
- design contains shelved or modified (but not repoured) polygons. the result....继续铺铜还是报警,解决方案如下:
- uniapp中回退到上一页面并触发函数的方法
- 首创Domino前后端彻底分离,结合vue、react优美例子