提问人:Pekka 提问时间:2/9/2010 最后编辑:Pekka 更新时间:2/17/2010 访问量:3399
在 CKEDitor 中最大化/调整对话窗口的大小
Maximizing / Resizing a dialog window in CKEDitor
问:
我需要以编程方式最大化/调整 CKEditor IFrame 对话框的大小(即带有“确定”和“取消”按钮的 CKEditor 对话框,其余部分的 iframe)。我需要对话框保持在屏幕上的中心。
我只能看到调整窗口大小和重新定位窗口的函数,但要使用这些函数,我必须先计算窗口尺寸以使其重新居中。由于多种原因,这是愚蠢的,API 应该完全处理它。
是否有官方的 API 函数来执行此操作,或者安全的解决方法?
我可以使用 JQuery,但真的很想为此使用本机函数。
答:
我自己也在使用 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/
评论
如果您同时调整大小和重新定位,那么执行一个功能并不难:
(这是伪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
我希望我理解正确:)
评论