Подтвердить что ты не робот

Как я могу использовать пакет jQuery TinyMCE и в чем разница с плагином TinyMCE jQuery

Я видел это сообщение Что представляет собой пакет jQuery для TinyMCE?, в котором объясняется, что такое пакет v4 TinyMCE jQuery, но почта и сайт tinymce содержат только примеры v3.

Когда я загружаю пакет v4 TinyMCE jQuery, нет tiny_mce.js; Кажется, есть два файла jquery.tinymce.min.js и tinymce.min.js. Я читал, что если я включаю оба файла, то я использую полный TinyMCE, а не версию jQuery, но если я включу только файл jQuery, мой вызов tinyMCE.init завершится неудачей с "tinyMCE не определен".

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

В зависимости от того, может ли кто-нибудь объяснить, что такое плагин TinyMCE jQuery и как он относится к вышесказанному? Я думаю, что это может быть разрыв в моем понимании.

Большое спасибо заранее

4b9b3361

Ответ 1

Я столкнулся с тем же вопросом несколько недель назад. Вам не нужно использовать tinymce как плагин jQuery, но опция есть, если вы хотите. Подавляющее большинство исходного кода tinymce находится в файле tinymce.min.js, а файл jQuery.tinymce.min просто содержит код, который обертывает функциональность tinymce в плагин jQuery. В любом случае, если вы хотите использовать его, вам потребуется указать оба.

<script src="/js/jquery-1.10.2.js" type="text/javascript"></script>
<script src="/js/tinymce/tinymce.min.js" type="text/javascript"></script>
<script src="/js/tinymce/jquery.tinymce.min.js" type="text/javascript"></script>

Единственное главное отличие, которое я знаю в терминах TinyMCE, - это то, как инициализируется редактор. Если вы не используете jQuery, вы инициализируете его примерно так:

tinymce.init({
    selector: 'textarea',
    theme: "modern"
    ...
}) 

В то время, когда вы используете его как плагин jQuery, вы можете использовать jQuery для его инициализации, и вы получаете дополнительное преимущество в том, что сможете подключить дополнительную функцию jQuery к вашему методу инициализации. Как в:

$('textarea').html('<p>some dynamic content</p>').tinymce({
   theme: "modern",
   ...
})

Кроме того, они в основном одинаковы, я думаю.

Ответ 2

Версия tinymce jQuery позволяет разработчику использовать команды jQuery, относящиеся к редактору tinymce. Я настоятельно рекомендую всем, кто слушает не использовать jQuery-сборку tinymce и придерживаться обычной версии tinymce. Причина этого проста: накладные расходы на создание дополнительных объектов и элементов с использованием версии jQuery не усугубляют преимущества. В случае использования собственных плагинов tinymce с несколькими обработчиками keyevent я узнал, что версия tinymce jQuery потребовала много времени для обработки многих быстрых штрихов клавиатуры (что привело к задержке появления букв в редакторе). Здесь можно использовать регулярную сборку tinymce и загружать обычный jQuery в основной документ. Тогда возможен доступ к tinymce и адресным элементам html с использованием jQuery.

Ответ 3

Учитывая путаницу в jQuery "version" vs. jQuery "plugin", я бы изучил, добавляя TinyMCE в проект MVC jQuery на данный момент.

Я установил необработанный пакет TinyMCE NuGet из Exphox (исходная версия JS) в один проект и пакет TinyMCE.jQuery NuGet в другой проект.

Затем я сравнивал папки, файлы, размер и т.д. с Araxis Merge, а затем "приглушал" уменьшенный исходный код для проверки содержимого.

Вот результаты NuGet:

Пакеты NuGet идентичны, за исключением одного файла jquery.tinymce.min.js, который был добавлен в пакет TinyMCE.jQuery NuGet.

Файл jQuery является просто плавным плагином для применения элементов MCE к jQuery!

Итак, что касается пакетов NuGet, версия jQuery - это не что иное, как плагин, реализующий TinyMCE для элементов jQuery. Больше ничего!

Это противоречит комментариям, найденным здесь http://www.tinymce.com/tryit/3_x/jquery_version.php, которые указывают:

В этом примере загружается определенная версия JQuery TinyMCE, эта версия немного меньше, поскольку она не включает в себя некоторую избыточную логику, такую ​​как движок Sizzle.