Jen

FCKEditor上傳圖檔的 Bug

上傳圖檔時的畫面
1

上傳後,圖會upload到你的資料夾,然後就卡住了…
2

正常應該出現像這樣的畫面。
3



這個bug,是卡在java script錯誤,

必須修改FCKEditor的原始碼
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;}}})();" );

修改成
Response.Write( @"(function(){var d=document.domain;
while (true){try{var A=window.parent.OnUploadCompleted;break;}
catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;
try{document.domain=d;}catch (e){break;}}})();" );
 
重新發佈到你的專案,就完成了。
 
 
 
如果你想修改一些上傳圖檔的邏輯,也是可以在FileBrowser / FileWorkerBase.cs檔案中修改FileUpload的方法,比如說縮圖之類的。
protected void FileUpload( string resourceType, string currentFolder, bool isQuickUpload ){}
 
 
那如果要用java script照比例縮<img /> 的大小,請修改
/FCKEditor/editor/dialog/fck_image/fck_image.js
 
可加在function Ok() 中
var jen_longest = 335; 
 if (GetE('txtWidth').value > jen_longest) {
     var jen_rate = jen_longest / GetE('txtWidth').value;
     var jen_newWidth = GetE('txtWidth').value * jen_rate;
     var jen_newHeight = GetE('txtHeight').value * jen_rate;
     SetAttribute(oImage, 'width', jen_newWidth + 'px');
     SetAttribute(oImage, 'height', jen_newHeight + 'px');
 }

 if (GetE('txtHeight').value > jen_longest) {
     var jen_rate = jen_longest / GetE('txtHeight').value;
     var jen_newWidth = GetE('txtWidth').value * jen_rate;
     var jen_newHeight = GetE('txtHeight').value * jen_rate;
     SetAttribute(oImage, 'width', jen_newWidth + 'px');
     SetAttribute(oImage, 'height', jen_newHeight + 'px');
 }
 
大概記一下…
 
 
參考:
http://cksource.com/forums/viewtopic.php?f=6&t=12112

0 意見: