关于FCKeditor 一系列的问题 以及个人解决方案。

时间:2021-12-30 17:15:57

.NET项目方案.  FCK version:FCKeditor.Net_2.6.3

1:单方面 只能修改 file 上传没有权限的问题,关于图片,众说纷纭,有的说IE不行,firefox没问题,有的说 框架里不行,单页OK。

用vs打开原文件项目  源代码文件FileBrowser/FileWorkerBase.cs里找到这样一行代码: 源代码下载地址

Code
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;}}})();" );
 

修改成:

Code
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;}

如果使用asp.net 2.0和theme,

那么需要打开\editor\filemanager\upload\aspx\upload.aspx

\editor\filemanager\browser\default\connectors\aspx\connector.aspx文件,并且在第一行中加入Theme="" 。
以上 只能针对files 对image 无效, 必须设置 image文件包的权限。

 

2:Send it to server invalid request

fckeditor编辑器上传文件出现invalid Request问题解决!2009-04-29 19:55在fckconfig.js中找到FCKConfig.LinkBrowseURL将其后面改为:
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=File&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;

即增加了"?Type=File",同样,找到FCKConfig.LinkUploadURL修改为
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.'
+ _QuickUploadExtension+'?Type=File' ;
如此即可解决此问题!

3:关于 图片上传,如果服务器实在不开权限的话 你也只能把
//dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; 注释掉了,即 隐藏IMG 的upload标签。


4:'FCKeditorAPI' is undefined  那就检查下FTP上传是不是少了 js 文件等等吧

5:webconfig配置
<add key="FCKeditor:BasePath" value="/FCKeditor/"/> (不用说了)
<add key="FCKeditor:UserFilesPath" value="/ImageLibrary/Body/"/> (注意:一定要是相对路径,否则后悔哦)
<add key="FCKeditor:UserFilesphysicalPath" value="D:\Home\WWW\CGDMS.com\ImageLibrary\Body\"/>
UserFilesphysicalPath:必须制定 和 UserFilesPath 是对应的,
如不制定,类库会 异常,无法取检测此路径是否存在 如不存在就创建。(错误)

5:给Fck 设置初始样式
 function FCKSetDefaultValue() {
           
            var checkContent1 = FCKeditorAPI.GetInstance("FCKeditorTitle");
            if (checkContent1 != null) {
                if (checkContent1.EditorDocument.body.innerText == "" || checkContent1.EditorDocument.body.innerText == undefined) {
                    checkContent1.InsertHtml('<span style="color: #0c2d83"><span style="font-size: large"><strong><span style="font-family: Trebuchet MS">&nbsp;</span></strong></span></span>');
                }
            }
        }
注意 需要加 或者 || checkContent1.EditorDocument.body.innerText == undefined
并且 在赋样式的时候 需要 给一个&nbsp;  这是在Firefox 下的兼容问题。 IE下不用这样写,
给一个&nbsp; 是因为 页面 autopostback回来 如果没有内容,在firefox下 样式会丢失。

6: brows to server create new folder, 返回错误图片路径,少一层, config 路径没用相对路径,或者DLL有错(这个问题 整整搞了我一天,后来发现是DLL不知道让谁改坏了=.=!)