最大化/调整CKEDitor中的对话窗口大小

时间:2010-02-08 16:04:48

标签: javascript css ckeditor

我需要以编程方式最大化/调整CKEditor IFrame对话框(即带有“ok”和“cancel”按钮的CKEditor对话框,以及其余的iframe)。我需要对话框在屏幕上保持居中。

我只能看到调整窗口大小和重新定位的功能,但要使用这些功能,我必须首先计算窗口尺寸以重新定位它。这很愚蠢有很多原因,API应该完全处理它。

是否有正式的API函数来执行此操作或安全的解决方法?

我可以使用JQuery,但我真的很想使用本机函数。

2 个答案:

答案 0 :(得分:2)

如果您同时调整大小并重新定位,那么执行一项功能就不那么难了:

(这是伪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事件可以调用此函数。

我希望我理解正确:)

答案 1 :(得分:1)

我自己使用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/