Как я могу использовать пакет 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 и как он относится к вышесказанному? Я думаю, что это может быть разрыв в моем понимании.
Большое спасибо заранее
Ответы
Ответ 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.