kooyee ‘s blog

          開源軟件, 眾人努力的結晶, 全人類的共同財富
          posts - 103, comments - 55, trackbacks - 0, articles - 66
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          首先,FCKEDITOR的性能是非常好的,用戶只需很少的時間就可以載入FCKEDITOR所需文件.對于其他在線編輯器來說,這幾乎是個很難解決的難題,因為在開啟編輯器時需要裝載太多的文件.比如CUTEEDITOR,雖然功能比FCKEDITOR還要強大,可是,它本身也夠龐大了,至于FREETEXTBOX等,其易用性與FCKEDITOR相比,尚有差距,可以說,FCKEDITOR是一個別具匠心的在線編輯器,它里面融入了作者高深的面向對象的JAVASCRIPT功力,集易用性與強大的功能與一體.

          性能

          首先,FCKEDITOR的性能是非常好的,用戶只需很少的時間就可以載入FCKEDITOR所需文件.對于其他在線編輯器來說,這幾乎是個很難解決的難題,因為在開啟編輯器時需要裝載太多的文件.比如CUTEEDITOR,雖然功能比FCKEDITOR還要強大,可是,它本身也夠龐大了,至于FREETEXTBOX等,其易用性與FCKEDITOR相比,尚有差距,可以說,FCKEDITOR是一個別具匠心的在線編輯器,它里面融入了作者高深的面向對象的JAVASCRIPT功力,集易用性與強大的功能與一體.

          .與編輯器相關的所有圖像,腳本以及調用頁
          .語言文件
          .編輯器的皮膚文件
          .工具樣的貼圖等

          這些將導致在服務器和客戶端間產生相當的流量.如果有許多文件被調用,那么即便每個文件很小.也會讓用戶等得不耐煩.

          在2.0版中,開發人員有兩種方法來解決這個問題.
          那就是指定裝載順序和腳本壓縮

          裝載順序
          從2.0版開始,編輯器按以下步驟裝載資源:
          .基本頁(就是編輯器所在頁)以及裝入編輯器的JS腳本
          .用來建立編輯器的腳本
          .編輯器的語言和皮膚.
          .建立編輯器.
          .載入預置的編輯文檔內容.
          .從現在開始,用戶可以閱讀和編輯文檔了,不過,拖拽支持以及工具欄都是不可用的
          .載入編輯器引擎腳本
          .建立工具欄,并且可用
          .從現在開始,編輯器的所有功能都已經完整
          .載入工具欄圖標

          腳本壓縮

          在打包任何新版本時,編輯器的JS腳本將會進行預處理.預處理步驟如下:
          .移除所有代碼注釋
          .移除所有無用的空白字符.
          .將腳本合并成幾個文件

          使用上面的方法,我們可以將腳本文件的大小壓縮到原來的50%.
          壓縮后,原始的代碼仍然存在于一個名為_Source的文件夾中

          如何打包?
          編輯器已經自帶了打包程序,它位于FCKEDITOR的根文件夾中_PACKAGER文件夾中,名為Fckeditor.Packager.exe,將其復制到FCKEDITOR根文件夾中并運行,即可自動將JS腳本打包并壓縮
          需要注意的是該程序是一個.NET程序,必須安裝.NET FRAMEWORK才能使用

          想要獲取支持?
          如果你捐贈15000歐元,你就可以獲得1年的免費技術支持(比較貴的說,相當于人民幣15萬,不過西歐的費用相當驚人)

          如何安裝?

          1.下載最新版的FCKEDITOR
          2.解壓縮到你的站點根文件夾中名為FCKEDITOR的文件夾中(名稱必須為FCKEDITOR,因為配置文件中已經使用此名稱來標示出FCKEDITOR的位置)
          3.現在,編輯器就可以使用了,如果想要查看演示,可以按下面方法訪問:
          http://<your-site>/FCKeditor/_samples/default.html

          注意:你可以將FCKEDITOR放置到任何文件夾,默認情況下,將其放入到FCKEDITOR文件夾是最為簡單的方法.如果你放入的文件夾使用別的名稱,請修改配置文件夾中編輯器BasePath參數,如下所示:
          oFckeditor.BasePath="/Components/fckeditor/";

          另外,FCKEDITOR文件夾中所有以下劃線開頭的文件夾及文件,都是可選的,可以安全的從你的發布中刪除.它們并不是編輯器運行時必需的

          如何將FCKEDITOR整合進我的頁面?

          由于目前的版本提供的FCKEDITOR僅提供了JAVASCRIPT式的整合,因此,這里僅講述如何應用JAVASCRIPT來整合FCKEDITOR到站點中,當然,其他各種語言的整合,你可以參考_samples文件夾中的例子來完成
          1,假如編輯器已經安裝在你的站點的/FCKEDITOR/文件夾下.那么,第一步我們需要做的就是在頁面的HEAD段中放入SCRIPT標記以引入JAVASCRIPT整合模塊.例如:
          <script type="text/javascript" src="/fckeditor/fckeditor.js"></script>

          其中路徑是可更改的

          2,現在,FCKEDITOR類已經可以使用了.有兩個方法在頁面中建立一個FCKEDITOR編輯器:
          方法1:內聯方式(建議使用):在頁面的FORM標記內需要插入編輯器的地方置入以下代碼:
          script type="text/javascript">
          var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
          oFCKeditor.Create() ;
          </script>

          方法2:TEXTAREA標記替換法(不建議使用):在頁面的ONLOAD事件中,添加以下代碼以替換一個已經存在的TEXTAREA標記

          <html>
          <head>
          <script type="text/javascript">
          window.onload = function()
          {
          var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
          oFCKeditor.ReplaceTextarea() ;
          }
          </script>
          </head>
          <body>
          <textarea id="MyTextarea" name="MyTextarea">This is <b>the</b> initial value.</textarea>
          </body>
          </html>

          3.現在,編輯器可以使用了

          FCKEDITOR類參考:
          下面是用來在頁面中建立編輯器的FCKEDITOR類的說明

          構造器:
          FCKeditor( instanceName[, width, height, toolbarSet, value] )
          instanceName:編輯器的唯一名稱(相當于ID)
          WIDTH:寬度
          HEIGHT:高度
          toolbarSet:工具條集合的名稱
          value:編輯器初始化內容

          屬性:
          instanceName:編輯器實例名
          width:寬度,默認值為100%
          height:高度,默認值是200
          ToolbarSet:工具集名稱,參考FCKCONFIG.JS,默認值是Default
          value:初始化編輯器的HTML代碼,默認值為空
          BasePath:編輯器的基路徑,默認為/Fckeditor/文件夾,注意,盡量不要使用相對路徑.最好能用相對于站點根路徑的表示方法,要以/結尾
          CheckBrowser:是否在顯示編輯器前檢查瀏覽器兼容性,默認為true
          DisplayErrors:是否顯示提示錯誤,默為true;

          集合:
          Config[Key]=value;
          這個集合用于更改配置中某一項的值,如
          oFckeditor.Config["DefaultLanguage"]="pt-br";

          方法:
          Create()
          建立并輸出編輯器

          RepaceTextArea(TextAreaName)
          用編輯器來替換對應的文本框

          如何配置FCKEDITOR?
          FCKEDITOR提供了一套用于定制其外觀,特性及行為的設置集.主配置文件名為Fckconfig.js
          你既可以編輯主配置文件,也可以自己定義單獨的配置文件.配置文件使用JAVASCRIPT語法.

          修改后,在建立編輯器時,可以使用以下語法:
          var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
          oFCKeditor.Config['CustomConfigurationsPath'] = '/myconfig.js' ;
          oFCKeditor.Create() ;

          提醒:當你修改配置后,請清空瀏覽器緩存以查看效果

          配置選項:

          AutoDetectLanguage=true/false 自動檢測語言
          BaseHref="" 相對鏈接的基地址
          ContentLangDirection="ltr/rtl" 默認文字方向
          ContextMenu=字符串數組,右鍵菜單的內容
          CustomConfigurationsPath="" 自定義配置文件路徑和名稱
          Debug=true/false 是否開啟調試功能,這樣,當調用FCKDebug.Output()時,會在調試窗中輸出內容
          DefaultLanguage="" 缺省語言
          EditorAreaCss="" 編輯區的樣式表文件
          EnableSourceXHTML=true/false 為TRUE時,當由可視化界面切換到代碼頁時,把HTML處理成XHTML
          EnableXHTML=true/false 是否允許使用XHTML取代HTML
          FillEmptyBlocks=true/false 使用這個功能,可以將空的塊級元素用空格來替代
          FontColors="" 設置顯示顏色拾取器時文字顏色列表
          FontFormats="" 設置顯示在文字格式列表中的命名
          FontNames="" 字體列表中的字體名
          FontSizes="" 字體大小中的字號列表
          ForcePasteAsPlainText=true/false 強制粘貼為純文本
          ForceSimpleAmpersand=true/false 是否不把&符號轉換為XML實體
          FormatIndentator="" 當在源碼格式下縮進代碼使用的字符
          FormatOutput=true/false 當輸出內容時是否自動格式化代碼
          FormatSource=true/false 在切換到代碼視圖時是否自動格式化代碼
          FullPage=true/false 是否允許編輯整個HTML文件,還是僅允許編輯BODY間的內容
          GeckoUseSPAN=true/false 是否允許SPAN標記代替B,I,U標記
          IeSpellDownloadUrl=""下載拼寫檢查器的網址
          ImageBrowser=true/false 是否允許瀏覽服務器功能
          ImageBrowserURL="" 瀏覽服務器時運行的URL
          ImageBrowserWindowHeight="" 圖像瀏覽器窗口高度
          ImageBrowserWindowWidth="" 圖像瀏覽器窗口寬度
          LinkBrowser=true/false 是否允許在插入鏈接時瀏覽服務器
          LinkBrowserURL="" 插入鏈接時瀏覽服務器的URL
          LinkBrowserWindowHeight=""鏈接目標瀏覽器窗口高度
          LinkBrowserWindowWidth=""鏈接目標瀏覽器窗口寬度
          Plugins=object 注冊插件
          PluginsPath="" 插件文件夾
          ShowBorders=true/false 合并邊框
          SkinPath="" 皮膚文件夾位置
          SmileyColumns=12 圖符窗列數
          SmileyImages=字符數組 圖符窗中圖片文件名數組
          SmileyPath="" 圖符文件夾路徑
          SmileyWindowHeight 圖符窗口高度
          SmileyWindowWidth 圖符窗口寬度
          SpellChecker="ieSpell/Spellerpages" 設置拼寫檢查器
          StartupFocus=true/false 開啟時FOCUS到編輯器
          StylesXmlPath="" 設置定義CSS樣式列表的XML文件的位置
          TabSpaces=4 TAB鍵產生的空格字符數
          ToolBarCanCollapse=true/false 是否允許展開/折疊工具欄
          ToolbarSets=object 允許使用TOOLBAR集合
          ToolbarStartExpanded=true/false 開啟是TOOLBAR是否展開
          UseBROnCarriageReturn=true/false 當回車時是產生BR標記還是P或者DIV標記

          如何自定義樣式列表呢?
          FCKEDITOR的樣式工具欄中提供了預定義的樣式,樣式是通過XML文件定義的,默認的XML樣式文件存在于FCkEditor根文件夾下的FckStyls.xml文件中
          這個XML文件的結構分析如下:
          <?xml version="1.0" encoding="utf-8" ?>
          <Styles >
          <Style name="My Image" element="img">
          <Attribute name="style" value="padding: 5px" />
          <Attribute name="border" value="2" />
          </Style >
          <Style name="Italic" element="em" />
          <Style name="Title" element="span">
          <Attribute name="class" value="Title" />
          </Style >
          <Style name="Title H3" element="h3" />
          </Styles>

          每一個STYLE標記定義一種樣式,NAME是顯示在下拉列表中的樣式名,ELEMENT屬性指定此樣式所適用的對象,因為FCKEDITOR中的樣式是上下文敏感的,也就是說,選擇不同的對象,僅會顯示針對這類對象定義的樣式

          拼寫檢查

          FCKEDITOR帶了兩種拼寫檢查工具,一種是ieSpell,默認情況下使用這種,使用這種方式的拼寫檢查,要求客戶下載并安裝iespell這個小軟件,另外,也提供SpellPager的方式來進行拼寫檢查,不過,由于SPELLPAGER是由PHP編寫的服務器端腳本,因此,要求你的WEB服務器必須支持PHP腳本語言方可
          更改拼寫檢查器的方式請參見有關配置文件的詳細說明

          壓縮腳本

          為了提供腳本載入的效率,FCKEDITOR采用以下方法對腳本盡量壓縮以減少腳本尺寸:
          1,移除掉腳本中的注釋
          2.移除掉腳本中所有無意義的空白
          另外,FCKEDITOR還提供了一個專門用于壓縮腳本的工具以便 你在發布時能減小文件尺寸,
          你可以將_Packager文件夾中的Fckeditor.Packager.exe復制到FCKEDITOR根文件夾來運行并壓縮腳本

          本地化FCKEDITOR
          如果FCKEDITOR沒有提供您所需要的語言(實際上全有了),你也可以自行制作新的語言
          ,你只需要復制出EN.JS,然后在其基礎上進行翻譯.另外,語言名稱與對應的腳本文件名必須遵循RFC 3066標準,但是,需要小寫,例如:Portuguess Language對應的腳本文件名必須為pt.js
          如果需要針對某個國家的某種語系,則可以在語系縮寫后加上橫線及國家縮寫即可

          在使用時,系統會自動偵測客戶端語系及國別而運用適當的界面語言.

          當建立一種新的語言后,你必須在"Edit/lang/fcklanguagemanager.js"中為其建立一個條目,如下所示:
          FCKLanguageManager.AvailableLanguages =
          {

          en : 'English',
          pt : 'Portuguese'
          }

          需要提醒的是,文件必須保存為UTF-8格式

          如何與服務器端腳本進行交互?
          請查看例子以得到相關內容

          另外,在ASP.NET中以以下步驟使用
          1.把FCKEDITOR添中到工具箱
          2.托拽FCKEDITOR控件到頁面
          3.為其指定名稱
          4.FCKEDITOR類的所有屬性不光可以在代碼中使用,而且可以作為FCKEDITOR控件的屬性直接使用,例如,要改變皮膚,可以在UI頁面中指定SkinPath="/fckeditor/editor/skins/office2003"即可,其實FCKEDITOR的ASP.NET版本可以做得更好,你可以找到FCKEDITOR ASP.NET 2.1的源文件,然后修改該控件的設計,為其暴露更多有用的屬性,重新編譯即可
          5,POSTBACK后的數據,使用FCKEDITOR控件的value屬性獲得
          6.由于默認狀態下,ASP.NET不允許提交含有HTML及JAVASCRIPT的內容,因此,你必須將使用FCKEDITOR的頁面的ValidateRequest設為false.(<%@page validteRequest="false" %>即可)

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

          附:

          一、如何設置上傳文件語言

          把FCKeditor根目錄下面的fckconfig.js文件里

          var _FileBrowserLanguage    = 'asp' ;    // asp | aspx | cfm | lasso | perl | php | py
          var _QuickUploadLanguage    = 'asp' ;    // asp | aspx | cfm | lasso | php

          這兩行中改成您所需要調用的編輯器語言,如用asp.net則改為aspx;

          二、解決中文的問題:
          在web.config中加入:
          <globalization requestEncoding="GB2312" responseEncoding="GB2312"/>
          這樣設置后可以顯示中文的文件,但URL地址也是中文的;
          如果服務器對中文地址的解析不好,可能導致圖片無法瀏覽;
          所以修改:editor\filemanager\browser\default\frmresourceslist.html
          中的OpenFile函數,把
          window.top.opener.SetUrl( fileUrl ) ;
          修改為:
          window.top.opener.SetUrl( escape(fileUrl) ) ;


          三.設置上傳的目錄:
          1:在web.config中設置:
           <appSettings>
               <add key="FCKeditor:UserFilesPath" value="/fck/UpLoad/" />
           </appSettings>

          2:在Session中設置:
          在editor\filemanager\browser\default\connectors\aspx\connector.aspx中加入以下代碼:
          <script runat="server" language="C#">
           protected override void OnInit(EventArgs e)
           {
            Session["FCKeditor:UserFilesPath"] = "/fck/UpLoad1/";
           }
          </script>

          附:如何在asp.net中動態設置上傳圖片的路徑?

          1.在javascript中修改FCKConfig.ImageBrowserURL的值,修改方式如下:
           FCKConfig.ImageBrowserURL += "?Path=要上傳的文件路徑";
           如:要把文件上傳到站點根目錄的UploadFile文件夾中,則設置為:
           FCKConfig.ImageBrowserURL += "?Path=/UploadFile";
          2.在"editor\filemanager\browser\default\connectors\aspx\connector.aspx"文件最后中增加以下程序:
          <script runat="server" language="C#">
              protected override void OnInit(EventArgs e)
              {
           if( Request.QueryString["Path"]==null ){
            Session["FCKeditor:UserFilesPath"] = "/UpLoadFiles/"; //設置默認值
           }else{
            Session["FCKeditor:UserFilesPath"] = Request.QueryString["Path"];
           }
              }
          </script>


          評論

          # re: 在線編輯器 FCKEDITOR中文使用說明   回復  更多評論   

          2009-06-15 16:43 by 磊子
          你好,我想問下如何使得fckeditor只顯示內容,而不可以編輯內容

          # re: 在線編輯器 FCKEDITOR中文使用說明 [未登錄]  回復  更多評論   

          2009-06-15 17:32 by kooyee
          試試這個

          var oEditor = FCKeditorAPI.GetInstance('FCKeditor1');
          oEditor.EditorDocument.body.disabled=true

          # re: 在線編輯器 FCKEDITOR中文使用說明   回復  更多評論   

          2009-06-28 17:50 by 求教
          請問:如何在FCKEDITOR中,使用直接粘貼網頁代碼的方法上傳網頁?
          就是說像淘寶的發布產品頁面那樣,可以編輯文本和圖片,也可以直接寫代碼.這個能實現嗎?
          主站蜘蛛池模板: 故城县| 楚雄市| 商丘市| 福鼎市| 屯门区| 贵州省| 连云港市| 都江堰市| 南阳市| 乾安县| 博客| 资中县| 康平县| 阿拉尔市| 广安市| 高唐县| 灵寿县| 德兴市| 盐山县| 长岛县| 墨脱县| 绥芬河市| 湟中县| 泰顺县| 东平县| 东兰县| 福海县| 藁城市| 定远县| 烟台市| 仁怀市| 大新县| 富宁县| 永福县| 理塘县| 莒南县| 盘锦市| 阿合奇县| 大足县| 雅安市| 神农架林区|