访问iframe里的元素,如何获取iframe中的内容

http://www.itjxue.com  2023-01-24 01:26  来源:未知  点击次数: 

如何操作iframe 中某些元素

直接调用iframe对象的document就可以,方法和document里的一样。不过注意,如果iframe是跨越引用的,会受到限制,不能访问其中内容。也就是你不能引用百度的页面,篡改其中的内容,只能改自己网站的。varmydoc=document.getElementById("myifr

怎么获取iframe里面的元素

要解释这个问题,首先要解释两个技术点。

每个“窗口”都是一个JS Runtime,即JS的运行时。如果只有一个窗口,那么就只有一个Runtime;如果一个窗口下面还有一个iframe,那么就有两个Runtime;以此类推。

Runtime

之间互操作(或者通信)是有跨域限制的。也就是说,如果这个窗口本身是a.baidu.com域名下的页面,那么如果这个页面下还有一个iframe,这

个iframe中加载的页面是b.baidu.com域名下的。那么外层的JS。就不能跟这个iframe中的内容互操作(或者通信)。

此外层Runtime中的JS想操作内层iframe中的内容,就必须要避免跨域限制。要么内层iframe加载页面的域名跟外层是一样的。要么就是需要

在内层iframe加载的页面中执行document.domain = 'baidu.com';从而设置跟外层的主域相同。

例如,当前页面是a.baidu.com/test.html

html

head

/head

body

iframe id="iFrm1" src="

script

document.domain = 'baidu.com';

var ifrm1 = document.getElementById('iFrm1');

ifrm1.onload = function(){

alert(ifrm1.contentWindow.document.getElementById('innerDiv').innerHTML);//弹出恭喜你操作到内部iframe中的元素了!!!

};

/script

/body

/html

iframe中加载的页面内容如下:

html

head

/head

body

div id="innerDiv"恭喜你操作到内部iframe中的元素了!!!/div

script

document.domain = 'baidu.com';

/script

/body

/html

在HTML5中新增了postMessage的API。可以方便窗口跟内部iframe之间进行通信,并且可以实现跨主域通信。但是有一些限制,1.老版本的浏览器一般不支持。2.父窗口只能向iframe中发送信息,iframe只能收消息,且父窗口不能直接操作iframe中的内容。3.父窗口发送的数据也是有限制的。只能发送基本数据类型或者plain object。

如何获取iframe里面的元素

在父窗口中获取iframe中的元素

1.

Js代码

格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1

实例:$("#ifm").contents().find("#btnOk").click();//jquery 方法1

2.

Js代码

格式:$("#iframe中的控件ID",document.frames("frame的name").document).click();//jquery 方法2

实例:$("#btnOk",document.frames("ifm").document).click();//jquery 方法2

在iframe中获取父窗口的元素

Js代码

格式:$('#父窗口中的元素ID', parent.document).click();

实例:$('#btnOk', parent.document).click();

js中如何得到iframe中的元素啊

你好 访问iframe中的元素属于跨域访问了哦 需要基于tomcat等软件才能进行操作

你的写法是对的哦

js怎么在当前页面获取iframe中的元素

首先你要能获取到这个iframe的dom对象,假设我们知道它的ID;

var?frame?=?document.getElementById("ueditor_0");

var?frameDocument?=?frame.contentWindow.document;

iframe中的document对象拿到了,后边如何获取你想要的元素就很简单了吧。

(责任编辑:IT教学网)

更多

推荐浏览器文章