通过所见即所得模块包含带有 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 粘贴插件——没有被加载。所以看起来问题出在 Drupal,而不是 TinyMCE。
任何帮助 Drupal 正确加载 TinyMCE 插件将不胜感激。