Drupal 7包含通过Wysiwyg模块包含的TinyMCE。 “粘贴”在Wysiwyg配置屏幕中启用。编辑器一般工作正常,但现在我试图修改TinyMCE的粘贴功能,从HTML标签中去除所有属性。 (客户要求,不要问。)Drupal 7/TinyMCE 3.5.8:paste_preprocess回调未运行
添加了以下的模块文件:
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插件的任何帮助都将非常感谢。