Сведения о вопросе

Junior

20:07, 24th August, 2020

Теги

javascript   dom   plugins   fckeditor    

Вставка в самом конце в FCKeditor

Просмотров: 447   Ответов: 3

FCKeditor имеет InsertHtml API (документ JavaScript API), который вставляет HTML в текущую позицию курсора. Как вставить в самом конце документа?

Нужно ли мне запускать браузер нюхать что-то вроде этого

if ( element.insertAdjacentHTML )    // IE 
    element.insertAdjacentHTML( 'beforeBegin',  html ) ; 
else                                // Gecko 
{ 
    var oRange = document.createRange() ; 
    oRange.setStartBefore( element ) ; 
    var oFragment = oRange.createContextualFragment( html ); 
    element.parentNode.insertBefore( oFragment,  element ) ; 
} 

или есть благословенный путь, который я пропустил?

Edit: конечно, я могу переписать весь HTML, как предлагают ответы, но я не могу поверить, что это путь "blessed". Это означает, что браузер должен уничтожить все, что у него есть, и повторно проанализировать документ с нуля. Это не может быть хорошо. Например, я ожидаю, что это сломает стек отмены.



  Сведения об ответе

DINO

10:40, 3rd August, 2020

Похоже, что вы можете использовать комбинацию GetHTML и SetHTML, чтобы получить текущее содержимое, добавить свой html и снова вставить все в Редактор. Хотя это действительно говорит

Обратите внимание, что при использовании этого метода вы потеряете любой прослушиватель, который ранее был зарегистрирован на editor.EditorDocument.

Надеюсь, это поможет!


  Сведения об ответе

davran

00:13, 22nd August, 2020

заменить глючную строчку :element.insertAdjacentHTML('beforeBegin', html);

с этим кодом jquery:

try {
      $(html).insertBefore($(element));
      // element.insertAdjacentHTML('beforeBegin', html);

} catch (err) { }


  Сведения об ответе

SSESION

19:20, 15th August, 2020

var oEditor = FCKeditorAPI.GetInstance('Editor_instance') ;
    OldText=oEditor.GetXHTML( true );

    oEditor.SetData( OldText+"Your text");


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться