最近有個項目用到FCKEditor,載了目前最新版的2.6.3,配置一切OK,調試狀態一切OK,發布到伺服器(windows server 2003 sp2),問題來了……
上傳圖片後頁面左下腳出現指令碼錯誤提示,點開可看到是“沒有許可權”的提示,並且上傳視窗一直凍結在進度條狀態(Upload in progess, please wait...)。但是瀏覽器抱一錯:
行:1
char:210
錯誤:沒有許可權
代碼:0
URL:http://***.***.***/web/fckeditor/editor/filemanager/connectors/aspx/upload.aspx?Type=Image 寫出心得,讓遇到同樣問題的人少走彎路.
1 首先要保證網站的寫入權限,就是上傳的那個userfilepath或者說upload檔案夾有寫入的許可權,XP直接勾上寫,2003在許可權裡面可以設定對應帳號的許可權
2 要保證上傳的檔案夾的路徑對
如果以上兩點都設定好了,還是在瀏覽器左下角提示錯誤"已完畢,但網頁存在錯誤,"雙擊js提示沒有許可權,而且在upload檔案夾裡面也能看到上傳的檔案,圖片了,只是fck一直在載入狀態. 視窗一直被凍結在進度條狀態,於是考慮到是不是指令碼錯誤導致。
解決方案: 終於在原始碼檔案FileBrowser/FileWorkerBase.cs裡找到這樣一行代碼: Response.Write( @"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();" ); 刪除裡面的 try{document.domain=d;}catch (e){break;} 後,重新編譯,然後在項目裡重新添加引用後,問題解決。