直接上鏈接: https://pan.baidu.com/s/1GEFDoWDQjcn_E_BJuLc0vQ 提取碼: th3n
本插件僅供研究學習,請支持正版。
背景介紹:
tinymce是一款優秀的富文本編輯器。
powerpaste是其一款收費插件,能實現word內容無縫粘貼入網頁的tinymce中,可保留word的格式以及自動將word中的圖片上傳至服務器端。
使用說明:
我默認你們都能在官網下載到tinymce,鑒于部分同學是通過npm安裝的,要注意了:npm安裝的不行!!!!不能用powerpaste!!!!
要用這個插件,先從官網下載tinymce!!下載地址:https://www.tiny.cloud/get-tiny/self-hosted/
語言包下載:https://www.tiny.cloud/get-tiny/language-packages/
然后,把我給你們發的插件解壓
解壓后我們放到tinymce模塊的plugins文件夾下。放進去后的tinymce文件夾長這樣
然后!在你webpack的index.html中,通過script標簽引入tinymce.min.js!你不是用webpack也沒關系,反正通過標簽引入就是了!
接著tinymce初始化時
tinymce.init({
selector: '#tinymce', // css選擇器,和jquery的選擇器一個道理,建議直接用id
language: 'zh_CN', // 需要在官網自己下載一個全局的langs包。同時我提供的powerpaste本身自帶一個langs包里面含中文,所以可以100%支持中文。
plugins: [
'powerpaste', // plugins中,用powerpaste替換原來的paste
//...
],
powerpaste_word_import: 'propmt',// 參數可以是propmt, merge, clear,效果自行切換對比
powerpaste_html_import: 'propmt',// propmt, merge, clear
powerpaste_allow_local_images: true,
paste_data_images: true,
images_upload_handler: function (blobInfo, success, failure) {
// 這個函數主要處理word中的圖片,并自動完成上傳;
// ajaxUpload是自己定義的一個函數;在回調中,記得調用success函數,傳入上傳好的圖片地址;
// blobInfo.blob() 得到圖片的file對象;
ajaxUpload(blobInfo.blob()).then((data) => {
// 上傳成功后,調用success函數傳入圖片地址
success(data.uploadedImageUrl)
})
},
// tinymce的其他配置參數
})
你可以進一步封裝成組件等,但已經不是本文討論的范疇了。
[效果預覽]
更新3.3.3-308版本
據我初步觀察有以下不同:
1 修復了第一次復制粘貼圖片進入tinymce時,images_upload_handler會調用2次的bug
2 word中如有圖片無法上傳(比如圖片格式錯誤,word中可以顯示但是tinymce無法顯示)增加了錯誤提示
3 體積更小,大概小了30%
4 猜測:應該與高版本tinymce兼容的更好。因為2.1.10-115是2017年初時候的版本了,那時候對應tinymce3.x,現在是tinymce4.9
更新4.0.1-317版本 適用tinymce5.0以上!!!
遇到問題如何解決:
1 先用我提供的demo嘗試一下是否正常
2 檢查下你的上傳圖片接口是否正確
3 各種疑難問題去tinymce官網找他們官方powerpaste的demo,嘗試去復現問題。像有些人是wps復制粘貼的,他們官網demo本身就不支持。我這肯定也就不支持了。目前已知chrome瀏覽器office word是一定支持的。360需要開極速模式。safari看版本。
4 有問題需要解決,請打賞,然后留下您的問題。