2009-10-10 3 views
-1

Я использую Greasemonkey для замены редактора KTML CKEditor.CKEDITOR не определено моим сценарием Greasemonkey?

Сначала я избавился от KTML, затем загрузил jQuery, а затем ckeditor.js и это работает, по-видимому.
Но, когда я иду на замену <textarea>, Firebug сообщает "CKEDITOR is not defined", и мое текстовое поле остается нормальным. Я загружаю их в неправильном порядке?

I может заменить его - после загрузки страницы - введя CKEDITOR.replace('editor1'); в консоли Firebug. Поэтому CKEditor должен быть загружен Greasemonkey.

ответ

0

Возможно, проблема заключается в том, что браузер не завершил загрузку (и, следовательно, не разобрал) файл CKEditor js в то время, когда вы пытаетесь выполнить команду .replace.

+0

Я пытался сделать ожидание сценария до 1,5 секунд, но даже это не помогает ... – 2009-10-10 18:09:53

0

Вы загружаете текстовое поле и скрипт, который выполняет 'replace' через ajax?

Попробуйте это:

parent.CKEDITOR.replace('editor1'); 

или

top.document.CKEDITOR.replace('editor1'); 
0

Я имел это в месте, я построил с помощью CodeIgniter. «CKEDITOR не определен» означает, что он не может найти файл js. В моем случае я только что редактировал .htaccess url rewrite, который нарушил путь.

Итак, если вы не исправили это за промежуточные 16 месяцев, проверьте свои пути к файлам.

+0

Это не относится к приложению Greasemonkey, которое не имеет контроля над целевой страницей на стороне сервера. –

0

Попробуйте удалить .htaccess из папки ckeditor. Возможно, если ваш сервер - это IIS, это проблема.

Для меня это сработало!

+0

Это не относится к приложению Greasemonkey, которое не имеет контроля над целевой страницей на стороне сервера. –

0

Вместо

window.onload = function() 
{CKEDITOR.replace('editor1');}; 

, который был по умолчанию на шахте, попробуйте этот

$(function() 
{CKEDITOR.replace('editor1');});