2013-05-06 77 views
0

我一主文件:index.php文件 它有1個IFRAME:主要如何從子窗口調用JavaScript函數到主窗口中的iframe?

<iframe src="main.php" id="main_frame" name="main_frame" > 
</iframe> 

main.php有2 IFRAME:middle_frame和top_frame

<iframe src="middle.php" id="middle_frame" name="middle_frame" > 
</iframe> 

<iframesrc="pageTop.php" id="top_frame" name="top_frame" > 
</iframe> 

middle.php有2 IFRAME: middle_left_frame,middle_right_frame

<iframe src="middle_left.php" id="middle_left_frame" name="middle_left_frame" > 
</iframe> 

<iframe src="middle_right.php" id="middle_right_frame" name="middle_right_frame" > 
</iframe> 

當我只運行middle_left.php我可以調用javascript函數Button1JSClick從那個方式的子窗口:

opener.Button1JSClick(event); 

但是,當我跑到index.php和其他文件我不能用這種方式。

我該怎麼辦?

+0

你必須顯示相關的代碼,你不覺得?! – 2013-05-06 15:01:26

+0

我迷失在中間框架的某處。 huhh – 2013-05-06 15:01:45

+0

爲什麼有這麼多iframe? – 2013-05-06 15:04:48

回答

1

iframe中沒有開啓者。

嘗試window.Button1JSClick(event);top.Button1JSClick(event);爲頂層窗口,parent.Button1JSClick(event);長達一個水平(這是top向下一個級別)

但是因爲你使用jQuery,加載頁面到的div相關的溢出

<div id="content"> 
    <div data-src="main.php" id="main_frame"> 
    <div data-src="pageTop.php" id="top_frame"></div> 
    <div data-src="middle.php" id="middle_frame"> 
     <div data-src="middle_left.php" id="middle_left_frame"></div> 
     <div data-src="middle_right.php" id="middle_right_frame"></div> 
    </div> 
    </div> 
</div> 

使用類似

$(function() { 
    $("div").each(function() { 
    var src= $(this).data("src"); 
    if (src) { 
     if (this.id==="middle-left-frame") { 
     $(this).load(src,function() { Button1JSClick() }); 
     } 
     else $(this).load(src); 
    } 
    }); 
}); 
+0

然而,如果他只想要一個層級的窗口,而不是頂層,那麼就有一個「父」。 – 2013-05-06 15:10:21

+0

請[接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – mplungjan 2013-05-07 07:34:36

+0

感謝您的幫助mplungjan。我解決了。這是我的編輯器程序中的一個部署問題。但你的方式比我的更有用。 – 2013-05-07 07:37:34

相關問題