После долгой работы с этим изменением размера на ckeditor 4 я придумал это, которое отлично работает для меня:
в config.js:
// prevent flashing of resizing by setting the content panel to zero height before it is resized
config.height = '0px';
config.width = '100%';
jQuery:
$(document).ready(function(){
// resize the editor(s) while the instance is ready
CKEDITOR.on('instanceReady', function() {
var textEditHeight = $(".textPanel").height();
var ckTopHeight = $("#cke_1_top").height();
var ckContentsHeight = $("#cke_1_contents").height();
for (var i = 1; i < 10; i++) {
$("#cke_"+i+"_contents").height( (textEditHeight - ckTopHeight - 10) + "px");
}
});
// resize the editor(s) while resizing the browser
$(window).resize(function(){
var textEditHeight = $(".textPanel").height();
var ckTopHeight = $("#cke_1_top").height();
var ckContentsHeight = $("#cke_1_contents").height();
for (var i = 1; i < 10; i++) {
$("#cke_"+i+"_contents").height( (textEditHeight - ckTopHeight - 10) + "px");
}
});
});
У меня есть несколько экземпляров редактора одного и того же размера на вкладках для каждого языка, отсюда и цикл for. Если у вас есть один редактор, вы можете оставить эту строку и использовать стандартный идентификатор cke
// prevent flashing of resizing by setting the content panel to zero height before it is resized
config.height = '0px';
config.width = '100%';
contents.
В этом примере высоты берутся из первой панели инструментов редактора (cke
// prevent flashing of resizing by setting the content panel to zero height before it is resized
config.height = '0px';
config.width = '100%';
top) и панели содержимого (cke
// prevent flashing of resizing by setting the content panel to zero height before it is resized
config.height = '0px';
config.width = '100%';
contents). Высота .textPanel - это окружающий блок div, в который должен вписаться редактор. Я добавил 10 пикселей, потому что мне это нужно для моего макета.
Я думаю, что это может быть немного эффективнее (он инициирует изменение размера столько раз, сколько редакторов), но на данный момент он, наконец, работает безупречно во всех моих последних браузерах (ff, т.е. chrome и safari).
person
klaaz
schedule
03.01.2013