今天遇到一個(gè)iframe子頁面調(diào)用父頁面js函數(shù)的需求,解決起來很簡單,但是在chrome瀏覽器遇到一點(diǎn)小問題。順便寫一下iframe的父頁面調(diào)用子頁面javascript函數(shù)的方法吧,備用!
1、iframe子頁面調(diào)用 父頁面js函數(shù)
子頁面調(diào)用父頁面函數(shù)只需要寫上window.praent就可以了。比如調(diào)用a()函數(shù),就寫成:
window.praent.a();
但是我在chrome瀏覽器下卻發(fā)現(xiàn)此方法無效了!查了半天才了解,在chrome 5+中,window.parent無法在file://協(xié)議中運(yùn)行,但是發(fā)布了之后http://協(xié)議下是可以運(yùn)行的。此方法支持ie、firefox瀏覽器。
2、iframe子父頁面調(diào)用 子頁面js函數(shù)
這個(gè)就稍微復(fù)雜一些,下面的方法支持ie和firefox瀏覽器:
document.getElementById('ifrtest').contentWindow.b();
注:ifrtest是iframe框架的id,b()為子頁面js函數(shù)。contentWindow屬性是指定的frame或者iframe所在的window對象,IE下可以省略。