我如何使用TinyMCE jQuery包和TinyMCE jQuery插件有什么区别

我看过这篇文章什么是TinyMCE jQuery包? 这解释了v4 TinyMCE jQuery包的内容,但post和tinymce网站只包含v3的例子。

当我下载v4 TinyMCE jQuery包时,没有tiny_mce.js; 似乎有两个文件jquery.tinymce.min.js和tinymce.min.js。 我已经读过,如果我包含这两个文件,那么我使用完整的TinyMCE而不是jQuery版本,但如果我只包含jQuery文件,我对tinyMCE.init的调用将失败并且“tinyMCE未定义”。

我真的宁愿从文档中解决这个问题,但是我试图搜索它并且找不到关于jQuery版本的任何信息。

在一个相关的点上,任何人都可以解释TinyMCE jQuery插件是什么以及它与上述有什么关系? 我认为这可能是我理解中的差距。

首先十分感谢

几个星期前我遇到了同样的问题。 您不需要使用tinymce作为jQuery插件,但如果您愿意,可以使用该选项。 绝大多数的tinymce源代码都在tinymce.min.js文件中,而jQuery.tinymce.min文件只包含将tinymcefunction包装到jQuery插件中的代码。 无论如何,如果你想使用它,你需要两者都需要。

   

就TinyMCE而言,唯一的主要区别在于编辑器的初始化方式。 如果你不使用jQuery,你可以将它初始化为:

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

然而,当您将它用作jQuery插件时,您可以使用jQuery对其进行初始化,并且您可以获得额外的好处,即能够将额外的jQuery优点链接到您的初始化方法。 如:

 $('textarea').html('

some dynamic content

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

除此之外,我认为它们基本相同。

tinymce jQuery版本使开发人员能够使用关于tinymce编辑器的jQuery命令。 我强烈建议任何听不使用jQuery构建的tinymce并坚持使用常规tinymce版本的人。 原因很简单:使用jQuery版本创建其他对象和元素的开销并没有带来好处。 如果使用自己的tinymce插件与几个keyevent处理程序,我发现jQuery tinymce版本花了很长时间来处理许多快速键盘笔划(导致编辑器中字母的外观延迟)。 这里的方法是使用常规的tinymce构建并在主文档上加载常规jQuery。 然后可以使用jQuery访问tinymce和地址html元素。

鉴于jQuery“版本”与jQuery“插件”的混淆,我虽然会调查,因为我现在将TinyMCE添加到MVC jQuery项目中。

我在一个项目中安装了Exphox(原始JS版本)的原始TinyMCE NuGet包,在另一个项目中安装了TinyMCE.jQuery NuGet包。

然后我将文件夹,文件,大小等与Araxis Merge进行比较,然后“美化”缩小的源代码以检查内容。

以下是NuGet结果:

NuGet包与单个jquery.tinymce.min.js文件相同,后者已添加到TinyMCE.jQuery NuGet包中。

jQuery文件只是一个将MCE应用于jQuery元素的直接插件!

因此,就NuGet包而言,jQuery版本只不过是一个在jQuery元素上实现TinyMCE的插件。 没有其他的!

这违反了http://www.tinymce.com/tryit/3_x/jquery_version.php中的评论:

这个例子加载了TinyMCE的特定jQuery版本,这个版本有点小,因为它不包括一些冗余逻辑,如Sizzle引擎。