3

プログラムでCKEditorIFrameダイアログを最大化/サイズ変更する必要があります(つまり、[OK]ボタンと[キャンセル]ボタンがあり、残りはiframeが含まれているCKEditorダイアログ)。画面の中央にダイアログを配置する必要があります。

ウィンドウのサイズ変更と再配置を行う関数しか表示されませんが、それらを使用するには、最初にウィンドウのサイズを計算して再配置する必要があります。これはいくつかの理由で愚かです。APIはそれを完全に処理する必要があります。

これを行うための公式のAPI関数、または安全な回避策はありますか?

JQueryを使用できますが、これにはネイティブ関数を使用したいと思います。

4

2 に答える 2

2

サイズ変更と再配置の両方がある場合、1つの機能を実行するのはそれほど難しいことではありません。

(私はそれを磨く時間がないので、それは疑似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この関数を呼び出すイベントのようなものがあると確信しています。

私は正しく理解していることを願っています:)

于 2010-02-16T16:44:09.383 に答える
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/

于 2010-02-11T17:54:49.247 に答える