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插件的任何幫助都將非常感謝。