直到您编辑器实例之后tinymce.editors
才会填充数组,因此您不能依赖它来获得执行初始化所需的数据。init()
我会为每种语言设置单独的初始化,并有一个基本配置,您只需使用 link_list 值更新,然后使用计算的配置进行初始化。
您始终可以使用 JavaScript 在编辑器实例的基础上修改/扩展您的标准初始化。
例如,从您的标准配置开始:
baseConfig = {
selector: 'textarea'
//everything here except your language specific configuration
....
}
...因为这只是一个简单的 JavaScript 对象,您可以在使用它初始化 TinyMCE 之前将其他属性/方法注入该对象。
例如:
customConfigEn = {
link_list: "link_list.php?lang=en"
}
customConfigFr = {
link_list: "link_list.php?lang=fr"
}
然后您可以将 customConfig“注入”到 baseConfig 中。最简单的方法是使用 jQuery 的 extend 方法:
$.extend(baseConfig, customConfigEn);
... 或者 ...
$.extend(baseConfig, customConfigFr);
...这将从 customConfig 中获取所有方法和属性并将它们添加到 baseConfig。完成后,您可以使用新更新的 baseConfig 加载 TinyMCE:
tinymce.init(baseConfig);
这种通用技术允许您创建具有所需的所有基本功能的“标准”配置,同时逐页注入其他配置选项。
注意:您也可以选择在呈现 HTML 页面之前在服务器上创建这些配置,但您没有提及您使用的服务器端语言,因此我无法说明您如何从服务器端执行此操作。