最近在用UEditor,好東西嘛大家自然都喜歡用。用的時候碰到了幾個問題,大多和配置有關。有些在網上找到解決方案了,有些則沒找到,索性終於磕磕碰碰解決了,這里總結下。
編輯器大小
我用的時候(1.2.4.0),大小總是設置為1000的,后來我摸進ueditor_all.js這個文件,改了點東西:
當然我承認這種方式有點土鱉...肯定有更好的方式,不過這里記錄下。
路徑
其實“路徑”是配置的主要內容,這里主要是指“路徑不正確”導致編輯器無法正確初始化這樣一種情形。
出錯提示一般是:“baidu”未定義。
先看兩種引用:
<script type="text/javascript" src="ueditor1_2_4_0-utf8-net/editor_config.js"></script>
<script type="text/javascript" src="/ueditor1_2_4_0-utf8-net/editor_config.js"></script>
使用VS的開發版IIS的時候,這兩種引用都可以正常工作。but...部署到IIS上后,第二種則被解析為根目錄下的,例如:http://localhost/ueditor...當然我承認,這是因為我思維不嚴謹造成的。
另外一種提示是:“WordCountXXX...”看起來應該是某個內部js未正常引用。這里分兩種情況:
如果前面一條路徑配置正確(也就是js引用正確),那么是不需要特別配置ueditor_config.js文件中的URL的(默認的可以正常工作)。
否則的話,仍然有以下兩種情況:
window.UEDITOR_HOME_URL = 'ueditor1_2_4_0-utf8-net/';
window.UEDITOR_HOME_URL = '/ueditor1_2_4_0-utf8-net/';
當然,在開發版IIS上仍然可以正常工作,但是部署到IIS上就...這里我不得不說,注釋部分有點誤導了。
圖片上傳
首先要做一件事情(網友經驗),否則圖片上傳會失敗。就是找到圖中文件(imageUp.ashx),把選中的一行刪除。
然后在下圖的文件中配置路徑(上傳的路徑),可以依賴於該文件的相對路徑。
然后呢,上傳的照片總該在編輯器里面正常顯示的吧?在ueditor_config.js中配置顯示路徑:
圖片上傳部署篇
這里特別補充一點,昨天高高興興配完路徑發現不能用,這可傷到我了。所以,又搗鼓了一把。部署的時候,把以下文件按照如下配置:
以上,imgup.ashx。第一個pathbase起到指引代碼將文件保存到目錄的作用,第二個info["url"]是返回給UEditor顯示用的。當然...我也不想用“~”這個符號...一個服務器端一個瀏覽器端,真是混亂啊。最后,這個解決方式不是很好...不過它解決了問題。
以上,editor_config。
配置安全性
默認情況下,ASP.NET安全性會導致編輯器不可用(提交),所以這里也需要配置下(網友經驗)。但是,如果正式發布的話,這里應該使用額外的代碼來保證提交的內容安全。
首先,在web.config下面配置,以禁用檢查:
當然,在4.0模式下面,這個行不通,所以要繼續配置以下內容:
<httpRuntime requestValidationMode="2.0" />
然后,在頁面中聲明下,我確實不需要檢查:
其他路徑配置問題
“當命中要點的時候,有些問題會接二連三的被解決”...我今天終於感受到了...前面幾個路徑配置的問題,讓我想到前段時間我沒能解決的一個問題。那時我打算使用一個腳本文件來包含所有其他的腳本文件的引用。然后,在頁面上我只需要引用那個用來包含其他引用的腳本就可以了。原理是在文件中加入“document.write()”這樣的語句以輸出一些引用,不過總是不成功。
我當時的寫法是這樣的:
document.write('<script src="~/Scripts/JSefect/floatmenu.js"></script>');
好吧,直到現在我才注意到,“~”這個符號,這種方式太.net化了,如果想引用跟路徑,只需要“/”。於是我去除了“~”,所以一切工作正常了。
...
應該會碰到更多問題。