【问题标题】:Drupal 7 / TinyMCE 3.5.8: paste_preprocess callback not runningDrupal 7 / TinyMCE 3.5.8:paste_preprocess 回调未运行
【发布时间】:2016-01-14 16:45:57
【问题描述】:

通过所见即所得模块包含 TinyMCE 的 Drupal 7。 “粘贴”在所见即所得的配置屏幕中启用。编辑器通常工作正常,但现在我正在尝试修改 TinyMCE 的粘贴功能以从 HTML 标记中删除所有属性。 (客户要求,别问了。)

已将以下内容添加到模块文件中:

function MYMODULE_wysiwyg_editor_settings_alter(&$settings, $context) {
    if ($context['profile']->editor == 'tinymce') {
        drupal_add_js(drupal_get_path('module', 'MYMODULE').'/js/tinymce_callbacks.js');

        $settings['paste_preprocess'] = 'MYMODULE_tinymce_paste_preprocess_callback';
    }
}

并创建了具有以下内容的 tinymce_callbacks.js

function MYMODULE_tinymce_paste_preprocess_callback(pl, o) {
    alert(o.content);
    o.content = "-: CLEANED :-\n" + o.content;
}

实际的 TinyMCE 粘贴按钮仅适用于 IE,但 ctrl-V 快捷方式适用于所有浏览器。但是,不会调用回调。

我做了一些挖掘工作。 paste_preprocess 设置肯定被添加到正确的 JavaScript 对象中,但是引用它的唯一代码 - TinyMCE Paste 插件 - 没有被加载。所以看起来问题出在 Drupal,而不是 TinyMCE。

如果能帮助 Drupal 正确加载 TinyMCE 插件,我们将不胜感激。

【问题讨论】:

    标签: drupal-7 tinymce-3


    【解决方案1】:

    确保“粘贴”TinyMCE 插件实际上正在加载。出于某种原因,在 Drupal 中,在“按钮和插件”下有一个条目,标题为“粘贴”。但是,这不会启用发生粘贴预处理回调所需的“粘贴”插件。

    请确保启用“粘贴文本”或“从 Word 粘贴”。这应该会导致“粘贴”插件加载,并发生粘贴预处理回调。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多