contentWindow 和contentDocument区别 及iframe访问

a>contentWindow 兼容各个浏览器,可取得子窗口的 window 对象。

b>contentDocument Firefox 支持,> ie8 的ie支持。可取得子窗口的 document 对象。

兼容获取document对象:

var getIFrameDoc = function(){

    var iobj = document.createElement("iframe");

    document.getElementsByTagName("body")[0].appendChild(iobj);

    return iobj.contentDocument || iobj.contentWindow.document;

}

基本使用:

1)document.getElementById("myiframe").contentWindow 得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了;

2)$("#myiframe")[0].contentWindow jquery选择器获得iframe,先把jquery对象转换为DOM对象,或者使用get()方法转换;

3)$("#myiframe")[0].contentWindow.$("#dd").val() 可以在得到iframe的window对象后接着使用jquery选择器进行页面操作;

4)$("#myiframe")[0].contentWindow.username="zhangsan"; 可以通过这种方式向iframe页面传递参数,在iframe页面window.username就可以获取到值,username是自定义的全局变量;

5)在iframe页面通过parent可以获得主页面的window,接着就可以正常访问父亲页面的元素了;

7)parent.$("#frame_A")[0].contentWindow.document.getElmentById("#frame_B"); 同级iframe页面之间调用,需要先得到父亲的window,然后调用同级的iframe得到window进行操作;

你可能感兴趣的:(document)