Как прокрутить CKEditor в режиме WYSIWYG? - PullRequest
3 голосов
/ 22 июня 2011

Я создаю сайт, и на некоторых страницах есть экземпляры CKEditor (т.е. редактор WYSIWYG ).Пока они работают нормально.Тем не менее, факт заключается в том, что иногда мне нужно прокручивать область редактирования до самого дна, не требуя взаимодействия с пользователем (т.е. выполнять программную прокрутку из тела внешнего обработчика событий).

Q:

  • Какой правильный способ (т. Е. Какой метод следует использовать) для прокрутки CKeditor WYSIWYG редактор?Страница может иметь несколько экземпляров, я просто прошу прокрутить конкретный экземпляр редактора.

PS: Я не смог ничего найти в документах, а Гуглинг не сделалпомочь вообще : (.

Ответы [ 2 ]

2 голосов
/ 25 июня 2011

Olemis

Я не знаю официального пути, но мне удалось угнать - позор мне - CKEditor на http://ckeditor.com/demo, и следующий код работал дляIE / FF (боюсь, вы должны попробовать другие браузеры)

document.getElementById("ifr").contentWindow.scrollTo(0,3)

, где "ifr" - это имя, которое я дал во время выполнения для iframe.Отличная новость, что оба браузера поддерживают замечательные инструменты разработчика и консоль js, которая творит чудеса ...

Теперь фрейм CKEditor не имеет правильного идентификатора, но элемент, в котором он содержится, есть (в этой демонстрацииэто TD идентифицированный как "cke_contents").Пробег может отличаться.Это говорит о том, что вы можете сделать это с помощью jquery.

Дайте мне знать, если этот хак правильно работает, иначе будем надеяться, что кто-то придет с некоторым работоспособным кодом.

С уважением

0 голосов
/ 22 сентября 2014

Я знаю, что это старый Q, но он обнаружился как связанный с более новым, на который я недавно ответил .Чтобы скопировать оттуда для дальнейшего использования: у вас есть доступ к jQuery, это может помочь.

var editor = CKEDITOR.instances.editor1; 
var jqDocument = $(editor.document.$);
var documentHeight = jqDocument.height();
jqDocument.scrollTop(documentHeight);

Этот метод очень похож на предыдущий ответ.Предполагается, что CKE> 4.x, поскольку он использует точечную нотацию CKEDITOR.instances, но вы можете использовать ее с более старыми версиями, используя эту нотацию: CKEDITOR.instances["editor1"].Здесь вы используете экземпляр CKE и берете ссылочный документ оттуда.Должен быть выполнимым и без jquery, но не может быть обеспокоен прямо сейчас.Если вы хотите родной JS, добавьте комментарий:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...