2011-01-20 54 views
1

我有幾個以前使用jquery-ui-dialog編譯的工作正常的頁面。 現在我的要求是製作一個帶有iframe的頁面。 ,並且此iframe用於顯示以前創建的頁面。 在這種情況下,來自iframe的對話框出現在iframe 的內部,而不在父文檔之上。我如何使對話框出現在 包含iframe的父文檔上,並且最小變化?從iframe覆蓋父文檔的jquery-ui-dialog

在此先感謝。

+0

http://stackoverflow.com/questions/5967904/how-to-popup-a-dialog-in-another-frame-using-jquery-ui – Mhmd 2013-02-20 04:54:30

回答

1

如果您的頁面位於同一個域中,則可以從iframe的父文檔中調用一個函數來顯示該對話框。

例如...

parent.ShowDialog("Hello World"); 

隨着它開創了使用所提供的文本用戶界面對話框中的父功能。

+0

不確定父選擇器是否會返回HTMLDocument對象 – crowicked 2011-01-20 08:44:59

+0

從我打電話給我的iframe文檔 parent.showDialog(「#dialogId」);我有 function showDialog(dialogId){(dialogId).dialog(「open」); }; 但它既沒有工作也沒有顯示任何錯誤 – amit 2011-01-20 08:56:37

1

呃,iframes似乎總是會引起問題...最好完全避免它們(我明白,如果這可能不是你的選擇)。

問題是瀏覽器將i幀解釋爲單獨的網頁。不確定,但您可以嘗試在i幀外定義對話元素(HTML標記),並嘗試從內部調用事件。 類似於:

<html> 
<div id="callme" style="display:none;"> 
... 
your dialogstuff here 
... 
</div> 

<iframe> 
<!-- function that calls the dialog event here --> 
</iframe> 
</html> 

這是值得一試的,我猜。