我需要以编程方式最大化/调整 CKEditor IFrame 对话框的大小(即带有“确定”和“取消”按钮的 CKEditor 对话框,以及其余的 iframe)。我需要对话框保持在屏幕中央。
我只能看到调整窗口大小和重新定位窗口的功能,但要使用这些功能,我必须先计算窗口尺寸才能重新居中。出于多种原因,这很愚蠢,API 应该完全处理它。
是否有官方的 API 函数可以做到这一点,或者安全的解决方法?
我可以使用 JQuery,但我真的很想为此使用本机函数。
我需要以编程方式最大化/调整 CKEditor IFrame 对话框的大小(即带有“确定”和“取消”按钮的 CKEditor 对话框,以及其余的 iframe)。我需要对话框保持在屏幕中央。
我只能看到调整窗口大小和重新定位窗口的功能,但要使用这些功能,我必须先计算窗口尺寸才能重新居中。出于多种原因,这很愚蠢,API 应该完全处理它。
是否有官方的 API 函数可以做到这一点,或者安全的解决方法?
我可以使用 JQuery,但我真的很想为此使用本机函数。
如果您同时具有调整大小和重新定位,那么执行一项功能就不会那么难:
(这是伪javascript,因为我没有时间打磨它,所以基本上是想法)
function dialogResizeCentered (d,w,h){ //d-dialog, w,h-width, height
var sw,sh; //screenwidth, screenheight
var rx,ry; //null atm, for resize x, resize y
get sw, sh from window. object
rx = parseInt(sw/2-w/2);
ry = parseInt(sh/2-h/2);
d.call resize (w,h);
d.call reposition(rx,ry);
}
然后你可以随时打电话dialogResizeCentered(d,600,400);
或者?
或者,如果您希望您的对话框保持居中,我确定有类似window.onResize
事件可以调用此函数。
我希望我理解正确:)
我自己使用的是 CKEditor,但我选择将 jquery 的 UI 对话框用于我的自定义对话框,因为它更加灵活且功能丰富,开箱即用,可在以下位置获得:
http://docs.jquery.com/UI/Dialog
但是,如果您更喜欢使用自定义 CKEditor 对话框,那么 jQuery 的 position():
http://api.jquery.com/position/
height()、width() 和 offset() 在确定对话框的大小和位置时非常有用:
http://api.jquery.com/category/manipulation/style-properties/