1. 程式人生 > >iframe子父頁面間js的相互呼叫

iframe子父頁面間js的相互呼叫

1、iframe子頁面呼叫父頁面js函式 

子頁面呼叫父頁面函式只需要寫上window.praent就可以了。比如呼叫a()函式,就寫成: 
複製程式碼程式碼如下:
window.parent.a(); 

子頁面取父頁面中的標籤中的值,比如該標籤的id為“test”,則: 
複製程式碼程式碼如下:
window.parent.document.getElementById("test").value; 

jQuery方法為: 

$(window.parent.document).contents().find("test").val(); 

但是我在chrome瀏覽器下卻發現此方法無效了!查了半天才瞭解,在chrome 5+中,window.parent無法在file://協議中執行,但是釋出了之後http://協議下是可以執行的。此方法支援ie、firefox瀏覽器。 

2、iframe父頁面呼叫子頁面js函式
 
複製程式碼程式碼如下:
這個就稍微複雜一些,下面的方法支援ie和firefox瀏覽器: 

document.getElementById('ifrtest').contentWindow.b(); 

子頁面取父頁面中的標籤中的值,比如該標籤的id為“test”,則: 

document.getElementById("test").value; 

注:ifrtest是iframe框架的id,b()為子頁面js函式。contentWindow屬性是指定的frame或者iframe所在的window物件,IE下可以省略。