访问iframe里的元素,如何获取iframe中的内容
如何操作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对象拿到了,后边如何获取你想要的元素就很简单了吧。