ueditor富文本編輯在 asp.net MVC下使用步驟


mvc項目中用到了這個富文本編輯就試着把遇到的問題個使用步驟在這里記錄一下,希望大家少走彎路。

1.首先我們先下載net版本的uediot

r.

2.然后把整個文檔拷貝到我們的項目中,記得是整個

3.下邊是要修改ueditor.config.js文件

要修改的地方就一個

因為我的目錄是這樣的

4.接着修改net文件下config.json文件

這個就是要修改你上傳一些文件要存儲的路徑,不多說了。(注意這里的路徑如果不正確圖片或者其他的就顯示不出來的

5.就是要在你的html頁面寫Ueditor就可以了。

6.這里遇到的問題有兩個

(1)通過form表單或者直接傳給controller,文本編輯內容都取不到而且報錯說驗證XXX內容不安全

這是因為傳過來的是html文本,我們要用FormCollection獲取值並在controller加上 [ValidateInput(false)]

(2)第二個問題就是說找不到zeroclipboard.config is not a function(可能有的人遇不到這個問題)

這個就要修改ZeroClipboard.js了,具體原因看一下這個http://www.cnblogs.com/TiestoRay/p/4997195.html

近期該項目引入了Requirejs,結果發現在有富文本編輯器的頁面都會在控制台報出如下異常:

Uncaught ReferenceError: ZeroClipboard is not defined                 ueditor.all.min.js:265

 

經查看代碼后發現 ueditor.../third-party/zeroclipboard/ZeroClipboard.js中 輸出方法的地方是醬紫的

復制代碼
  if (typeof define === "function" && define.amd) { define(function() { return ZeroClipboard; }); } else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) { module.exports = ZeroClipboard; } else { window.ZeroClipboard = ZeroClipboard; }
復制代碼

意思就是說

  • 如果當前頁面的模塊加載模式是AMD的 則定義模塊
  • 如果是CommonJs的,則輸出到模塊 ZeroClipboard
  • 否則 把 ZeroClipboard 定義為全局變量

這樣 解決方案就有兩種。

①不使用模塊加載模式來使用這個功能

這樣方法需要修改一點源碼,把上面這段代碼替換成如下代碼即可

復制代碼
  if (typeof define === "function" && define.amd) { define(function() { return ZeroClipboard; }); } else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) { module.exports = ZeroClipboard; } window.ZeroClipboard = ZeroClipboard;
復制代碼

 

②如果不修改源碼,就得在模塊加載時做處理了

首先是修改配置

require.config({
    baseUrl: '', paths: { ZeroClipboard: "./UEditor.../ZeroClipboard"//主要是加這句話  } });

然后是在調用這個模塊並把模塊定義到全局變量

require(['ZeroClipboard'], function (ZeroClipboard) { window['ZeroClipboard'] = ZeroClipboard; });

 -------------------

 

以上就是所有遇到的問題和使用步驟。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM