问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么获取iframe里面的元素

发布网友 发布时间:2022-04-23 13:24

我来回答

2个回答

热心网友 时间:2022-04-19 06:54

JS获取/设置iframe内对象元素、文档的几种方法
1、IE专用(通过frames索引形象定位):
复制代码 代码如下:

document.frames[i].document.getElementById('元素的ID');
2、IE专用(通过iframe名称形象定位):
复制代码 代码如下:

document.frames['iframe的name'].document.getElementById('元素的ID');
以上方法,不仅对iframe适用,对frameset里的frame也同样适用。IE虽然擅于自定标准,但不得不说它很多的设计还是比较体现人性化的。比如这个,它在同样支持下面的标准路径之外,提供了一个简洁且形象化的写法。
3、通用方法:
复制代码 代码如下:

document.getElementById('iframe的ID').contentWindow.document.getElementById('元素的ID')
注意要加上contentWindow,往往出现问题都是因为这个容易被忽略,它代表frame和iframe内部的窗口对象。
JS获取iframe文档内容
复制代码 代码如下:

<script type="text/javascript">
function getIframeContent(){ //获取iframe中文档内容
var doc;
if (document.all){ // IE
doc = document.frames["MyIFrame"].document;
}else{ // 标准
doc = document.getElementById("MyIFrame").contentDocument;
}
return doc.body.innerHTML;
}
</script>
注意:上面的 .contentDocument 相当于 .contentWindow.document !
一、需求与遇到的问题
  在网站的后台管理中使用了iframe框架布局,包括顶部菜单、左侧导航和主页面。需求是:点击主页面上的一个按钮,在顶部菜单栏的右侧显示“退出”链接,点击可退出系统。
  我的思路是:在顶部的菜单页面放一个不可见的“退出”链接,当用户点击位于iframe中的主页面(mainPage.htm)中的按钮时,在顶部菜单页面的右侧显示“退出”。
  我现在遇到的问题是:如何在页面的一个iframe子页面(mainPage.htm)中获取并且操作其它iframe子页面(比如topPage.htm)中的HTML元素?
二、通过JS获取并操作iframe中的元素来解决问题
  这里主要就是通过JS来操作Window对象。Window 对象表示浏览器中打开的窗口,如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。
  经过我在网上查资料,找到了JS操作iframe中HTML元素的方法。示例如下。
复制代码 代码如下:

function ShowExit() {
//获取iframe的window对象
var topWin = window.top.document.getElementById("topNav").contentWindow;
//通过获取到的window对象操作HTML元素,这和普通页面一样
topWin.document.getElementById("exit").style.visibility = "visible";
} 
说明:第一步,通过window.top.document.getElementById("topNav")方法获取了顶部菜单页面(topPage.htm)所在的iframe对象;第二步,通过上一步获取到的iframe对象的contentWindow属性得到了iframe中元素所在的window对象;第三步,通过上一步获取到的window对象来操作iframe框架中的元素,这和操作不在iframe框架中的普通HTML元素是一样的。

热心网友 时间:2022-04-19 08:12

跨域的话是无论如何也取不到的。

没跨域的话这样:
JavaScript code

var iframe = document.getElementById('ifrmae');//获取那个iframe,也可以用$('#iframe')[0]替代
var iframeWindow = iframe.contentWindow;//获取iframe里的window对象
var $c = iframeWindow.$;//获取iframe中的jquery对象
$c('body')//获取iframe中body元素,其他的话自己用$c('#aaa')去获取吧

如果跨了子域,要在父页面跟子页面都设置
document.domain
值都是域名,不要前面的www什么的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见和同性发生关糸了 梦见和同性朋友发生亲密关系 学生党如何科学护肤? 学生党该怎么基础护肤? 有什么美容护肤的技巧适合学生党? 怎么@全部成员啊? 新洲摩尔城一楼小吃租金多少 武汉王家湾有哪些广场 你好 请问 晚上6点开始 学瑜伽 可以吗? 因为我想在下班时间去 锻炼锻 ... 电脑联网有哪些条件台式电脑无线上网需要具备哪些条件 怎样调整div中iframe的位置 iframe显示指定位置 我的世界房子装修设计图 卧室内怎么装修好看 在iframe里面可以应用锚点链接定位到iframe的上面某一个点么 怎么让光标定位在iframe中? 我的世界方块升级之后,那些大神究竟是如何把房子搭建在树上的? iframe我不能定位啊,它老是把其他的div给覆盖了 我的世界怎么建房子内部结构 如何在chrome浏览器中对iframe绝对定位 我的世界创造模式怎么玩 怎么搭建一座漂亮的 iframe的页面位置问题 《我的世界》如何做一个小而实用的家? selenium怎么定位IFrame里面的元素 我的世界生存模式怎么造一栋好看的别墅,求步骤 iframe框架,怎么实现读取某个网页的特定位置? iframe位于浏览器的什么位置 我的世界在森林里建别墅选什么风格好? iframe 绝对定位的问题 我的世界生存模式怎么建造简单小屋 用iframe写的框架始终在页面的左上角,怎么定位到页面的中央!如果用div+... 如何设置一个写在iframe里面的div的绝对坐标位置(相对整个显示器)? 我的世界公主房间怎么装饰 可否控制iframe内嵌网页的位置? 我的世界只有方块造房子吗?为什么不设计圆形的,斜边等各种形状,来弥补凹凸不平,像现实中的建筑物那? 嵌套的iframe如何定位上一层的iframe的元素? 我的世界手机版 生存模式房子 提问:内控制度和管理制度有什么区别 内部会计控制和内部管理控制的区别 三五成群打一数字 三五成群猜一数字 内部控制涉及到管理制度有哪些内容 2.333555谜底是什么 根据数字猜成语:33355555 我的世界手机版定位器地图有什么用? 333555打一成语? 我的世界定位器地图怎么用 三五成群喝顿酒打三个数字 我的世界如何自己制作地图? 333555的谜底是什么? 我的世界手机版怎么使用空地图 地图查看位置方法