我已經安裝了django-tinymce,並在我的應用程序中使用了HTMLField
。django-tinymce HTMLField - 在管理員中以純文本格式粘貼
我試圖在django管理中產生某種'粘貼爲純文本'的功能。我想從MS Word,HTML標籤格式化,以及當用戶做ctrl + v/cmd + v /右鍵單擊>粘貼等時刪除了很多東西。
我可以看到很多人在談論它,但我可以似乎沒有任何工作。作爲django-tinymce,我在TINYMCE_DEFAULT_CONFIG
的settings.py
中做了所有這些。
我原本以爲它的工作 - 我重寫了基礎管理模板,以包括與下列功能的js文件(我不記得是誰給信貸的功能 - 對可能有人SO) -
function tinymcePastePlainText() {
var ed = tinyMCE.get(0);
ed.pasteAsPlainText = true;
//adding handlers crossbrowser
if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
ed.onKeyDown.add(function (ed, e) {
if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
ed.pasteAsPlainText = true;
});
} else {
ed.onPaste.addToTop(function (ed, e) {
ed.pasteAsPlainText = true;
});
}
}
然後設置我的默認配置 -
TINYMCE_DEFAULT_CONFIG = {
'plugins': "'paste'",
'paste_text_sticky': "true",
'paste_retain_style_properties': "",
'oninit': "tinymcePastePlainText",
#...Further config
}
這似乎是在做什麼,我想我最後一次看,但現在已經停止工作 - 在瀏覽器中調試似乎表明tinymcePastePlainText()
功能是永遠運行(儘管它已加載)。
我已經試過各種方法,例如簡單的我的配置設置 -
TINYMCE_DEFAULT_CONFIG = {
'plugins': "'paste'",
'paste_auto_cleanup_on_paste': 'true',
'paste_remove_styles': 'true',
'paste_remove_styles_if_webkit': 'true',
'paste_strip_class_attributes': 'true',
#....further config
}
(即似乎沒有任何改變)。或
TINYMCE_DEFAULT_CONFIG = {
'plugins': "'paste'",
'setup': "function(ed) { ed.onInit.add(function(ed) {ed.pasteAsPlainText = true;});",
#....further config
}
我試着從一個單獨的js文件加載上述功能則包括在我的配置功能名稱 - 'setup': 'pasteAsPlainTextFuncion()'
但也不能工作。
我似乎花了很多年,我沒有真正取得進展 - 我不知道爲什麼我的函數被調用,現在它不是 - 瀏覽器的調試工具沒有收到任何錯誤。
看看:http://www.tinymce.com/wiki.php/Plugin:paste – Brandon
+1好問題 – Thariama
感謝布蘭登,我在下面的解決方案中包含了您的鏈接。 –