原文: http://3rgb.com、著者: レモン園のオーナー
転載用にこの情報を保管しておいてください
国内の WEB 開発者にとって、FCKeditor は現在バージョン 2.3.1 に達しており、多くの人がそれを自分のプロジェクトに組み込んでおり、さらに多くの大規模な Web サイトがその恩恵を受けています。今日から、私が FCKeditor を使っている間に学んだいくつかのテクニックを少しずつ紹介していきます。 もちろん、これらは実際には FCK に固有のものですが、FCK を使っているときに気づいていない人も多いです:P
。
1. 適切なタイミングでエディタを開きます
多くの場合、ページを開くときにエディターを直接開く必要はなく、必要な場合にのみ開くと、優れたユーザー エクスペリエンスが提供され、一方で、FCK によるエディターの必要性がなくなります。図に示すように、読み込み時にページを開きます
[エディターを開く] ボタンをクリックしてエディター インターフェイスを開きます
実装原則: ページがロードされるとき (FCK が開かれていないとき)、FCK の JAVASCRIPT バージョンを使用して非表示の TextArea ドメインを作成します。この TextArea の名前と ID は、次の TextArea の名前と一致している必要があります。次に、[エディタを開く] ボタンをクリックすると、FCK の ReplaceTextarea() メソッドを使用して関数を呼び出して FCKeditor を作成します。コードは次のとおりです。 🎜>コードをコピー
コードは次のとおりです: 関数 showFCK(){
var oFCKeditor = new FCKeditor( 'fbContent' ) ;
oFCKeditor.BasePath = '/FCKeditor/' ; oFCKeditor.ToolbarSet = 'Basic' ;
oFCKeditor.Width = '100%' ;
oFCKeditor.Height = '200' ;
oFCKeditor.ReplaceTextarea() ;
}
//-->
="fbContent"> ;textarea>
2. FCKeditor の API を使用します
FCKeditor エディターは非常に豊富な API を提供します。これは、最も基本的なデータ検証、FCK の送信時に現在のエディター領域にコンテンツがあるかどうかを JS を使用して判断する方法など、エンド ユーザー向けに多くのカスタマイズされた機能を実装するために使用されます。 API は GetLength() メソッドを提供します。
もう 1 つの例は、InsertHTML() などを使用して、スクリプトを通じて FCK にコンテンツを挿入する方法です。
また、ユーザーが関数をカスタマイズする場合、中間ステップで FCK の組み込み操作を実行する必要がある場合があるため、ExecuteCommand() メソッドを使用します。
詳細な API リストについては、FCKeditor の Wiki を確認してください。一般的に使用される API については、FCK 圧縮パッケージの _samples/html/sample08.html をご覧ください。ここではコードを投稿しません。
3.
外部編集バー (複数の編集フィールドが 1 つの編集バーを共有します)
この機能はバージョン 2.3 でのみ提供されていました。以前のバージョンの FCKeditor では、同じページ上で複数のエディターを使用する場合、1 つずつ作成する必要がありました。この外部リンク機能では、その必要がありません。図
に示すように、ツールバーを適切な位置に配置するだけで、無制限に編集フィールドを作成できます。
この関数を実装するには、まずページ上にツールバー コンテナを定義する必要があります:
次に、このコンテナの id 属性に従ってそれを設定します。
ASP 実装コード:
コードをコピー
コードは次のとおりです:
<% oFCKeditor oFCKeditor = New FCKeditor を設定します。BasePath = fckPath
.Config( "ToolbarLocation") = "Out:fckToolBar"
.ToolbarSet = "Basic" .Width = "100%"
.Height = "200"
.Value = ""
.Create "jcontent"
.Height = "150"
.Value = ""
.Create "jreach"
end with
% >
JAVASCRIPT 実装コード:
コードをコピー
コードは次のとおりです。
FCKeditor 1:
此部分的詳細DEMO請參考_samples/html/sample11.html,_samples/html/sample11_frame.html
4、檔案管理功能、檔案上傳的權限問題
一直以來FCKeditor的檔案管理部分的安全是個值得注意的地方,但是很多人沒有註意到的地方,雖然FCKeditor在各個Release版本中一直有一個功能就是對存在的上傳文件類型進行過濾,但是她沒有考慮過另一個問題:到底允許誰能上傳?到底誰能瀏覽文件?
剛開始使用FCKeditor時,我就出現這個問題,還好NetRube(FCKeditor中文化以及FCKeditor ASP版上傳程序的作者)及時提醒了我,做法是去修改FCK上傳程序,在裡面進行權限判斷,並且再在fckconfig.js裡把對應的一些功能去掉。但隨著FCK版本的不斷升級,每公升一次都要改一次設定程式fckconfig.js,我發覺厭煩了,就沒有辦法更好的控制這樣麼?事實上,是有的配置。
在fckconfig.js裡面,有關於是否開啟上傳和瀏覽伺服器的設置,在建立FCKeditor的時候,透過程式來判斷建立是否有上傳瀏覽功能的編輯器。首先,我先在fckconfig.js裡面把所有的上傳和瀏覽設定全部設為 false,然後我使用的程式碼如下:
ASP版本:
複製代碼
代碼如下:調暗oFCKeditor
設定oFCKeditor = 新FCKeditor
使用oFCKeditor .BasePath = fckPath
.Config("ToolbarLocation") = "Out:fckTool
.Config("ToolbarLocation") = "Out:fckTool>Bar" cookies(site_sn)("issuper")="yes" 然後
.Config("LinkBrowser") = "true"
.Config("ImageBrowser") = "true"
.Config("FlashBrowser ") = "true"
.Config("LinkUpload") = "true"
.Config("ImageUpload") = "true"
.Config("FlashUpload") = "true"
end if
.ToolbarSet = "基本"
.Width = "100%"
.Height = "200"
.Value = ""
.建立"jcontent"
%>
JAVASCRIPT版本:
複製代碼
代碼如下: var oFCKeditor = new FCKeditor( 'fbContent' ) ; ] = true ;
oFCKeditor. Config['ImageBrowser'] = true ;
oFCKeditor.Config['FlashBrowser'] oFCKeditor.Config['ImageUpload' ] = true ;
oFCKeditor.Config['FlashUpload'] = true ; K editor.Width = '100%' ;
oFCKeditor.Height = '200' ;
oFCKeditor.Value = '' ;
oFCKeditor.Create() ;