1. 程式人生 > >contentWindow 和contentDocument區別 及iframe訪問

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進行操作;