此类负责加载插件及其语言包。ThemeManager 和 PluginManager 是 AddOnManager 的实例,用于管理主题和插件。

摘要

方法

名称摘要定义者

add()

通过插件的短名称添加一个插件实例。

AddOnManager

get()

通过短名称返回指定的插件。

AddOnManager

load()

从特定 URL 加载插件。

AddOnManager

requireLangPack()

为指定插件加载语言包。

AddOnManager

方法

add()

add(id: String, addOn: tinymce.Theme | tinymce.Plugin): tinymce.Theme | tinymce.Plugin

通过插件的短名称添加一个插件实例。

示例

// 创建一个简单的插件
const TestPlugin = (ed, url) => {
  ed.on('click', (e) => {
    ed.windowManager.alert('Hello World!');
  });
};

// 使用 add 方法注册插件
tinymce.PluginManager.add('test', TestPlugin);

// 初始化 TinyMCE
tinymce.init({
  ...
  plugins: '-test' // 初始化插件但不尝试加载它
});

参数

  • id (String) - 插件的短名称/ID。

  • addOn (Theme | Plugin) - 要添加的主题或插件。

返回值

  • Theme - 传入的相同主题或插件实例。

  • Plugin - 传入的相同主题或插件实例。


get()

get(name: String): tinymce.Theme | tinymce.Plugin

通过短名称返回指定的插件。

参数

  • name (String) - 要查找的插件。

返回值

  • Theme - 主题或插件实例,或 undefined。

  • Plugin - 主题或插件实例,或 undefined。


load()

load(name: String, addOnUrl: String): Promise

从特定 URL 加载插件。

示例

// 从外部 URL 加载插件
tinymce.PluginManager.load('myplugin', '/some/dir/someplugin/plugin.js');

// 初始化 TinyMCE
tinymce.init({
  ...
  plugins: '-myplugin' // 不再尝试加载它
});

参数

  • name (String) - 要加载的插件的短名称。

  • addOnUrl (String) - 要加载的插件的 URL。

返回值

  • Promise - 一个 promise,当插件成功加载时解析,如果加载失败则拒绝。


requireLangPack()

requireLangPack(name: String, languages: String)

为指定插件加载语言包。

参数

  • name (String) - 插件的短名称。

  • languages (String) - 可选的以逗号或空格分隔的语言列表,用于检查是否与名称匹配。