簡體   English   中英

iframe中的JQuery UI Dialog

[英]JQuery UI Dialog inside of an iframe

我正在開發一個sp2013應用程序,這意味着它正在使用iframe。 具體來說,它是一個非常大的iframe占據了大部分屏幕。 在很多方面,我正在打開jquery ui對話框窗口。 它們被設置為出現在視口的中間,這很好,除了它顯示在iframe的中間,而不是顯示在可見屏幕的中間。

有沒有辦法告訴jquery ui看看window.top的滾動屬性,而不是iframe?

編輯:iframe和父級位於同一個域中,因此跨域問題不是問題。

好的,所以我找到了解決方案。 在聲明我的對話框時,我執行了以下操作:

$("selector").dialog({
    position: {my: "center", at: "center", of: window.top}
});

HTML:

<div id="dialog">Hello, world!</div>

jQuery的:

alert('Window size: '+window.innerWidth);
var dialogWidth = 500;
var dialogHeight = 200;
var dialogX = (window.innerWidth - dialogWidth)/2;
var dialogY = (window.innerHeight - dialogHeight)/2;
$("#dialog").dialog({ position: [dialogX,dialogY], width: dialogWidth, height: dialogHeight }, 500);
alert('Dialog position: '+$("#dialog").dialog( "option", "position" ));

小提琴: http//jsfiddle.net/3vjsa/3/

在iframe內部運行。 水平和垂直居中。 如果窗口的居中位置落在iframe之外,它將移動到iframe的邊緣。 添加警報消息以顯示窗口寬度和對話框位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM