不管你使用的是痞客邦、wordpress、google blogger或其它相關的內容管理系統(CMS, content management system),在編輯文章的時候,勢必會有一個HTML編輯器,這個編輯器可以讓你選擇字型、改變字體大小、甚至可以直接針對HTML語法進行編輯,少了這個編輯器,部落格大概也經營不下去了。
可是,如果你是想要從頭寫一個網站,而不想要直接套用CMS系統的話,CKEditor就是一個很好的內容編輯器的選擇。
這裡有CKEditor的示範可以觀看,安裝方法如下。
STEP:下載CKEditor
連結到CKEditor的網站:http://ckeditor.com/
點選「download」
STEP:選擇要下載的模組
這裡一共分成四種模組:
基本款(Basic Package),能套用的功能最少,是最基本的內容編輯。
標準款(Standard Package),幾乎涵蓋了一般會用到的內容編輯功能,包括複製、貼上、底線、刪除線、圖片匯入等等。
完整款(Full package)包含了所有的功能,還可以選擇文字的上下標,製作核取方框、選擇按鈕、列印等等。
最後一種則是客製化自己的編輯器(customize CKEditor),對於CKEditor的功能如果比較熟悉之後,可以針對自己用的到的功能下載就好,減少網頁的負載。
在這裡我們下載Full Package當作範例。
STEP:上傳CKEditor
將下載下來的壓縮檔解壓縮後,上傳到伺服器,儲存到ckeditor這個資料夾中
STEP:載入CKEditor
首先,開啟一個新的頁面。
在<head>和</head>中匯入ckeditor.js
<script src="ckeditor/ckeditor.js"></script>
接著在<body>和</body>間建立表單:
<body> <form name = 'form' action = '#' method='post'> <textarea name="content" id="content" rows="10" cols="80"></textarea> <input type = 'button' value = '送出' onclick = 'processData()'>
</form> </body>
然後在</textarea>後面插入這段語法
<script> CKEDITOR.replace( 'content', {}); </script>
這段語法的用意是要把原本textarea的部分改成CKEditor的編輯器,因此()裡面的內容一定要和textarea中name屬性的內容一樣才行(這裡是用content)。
完整的程式碼像這樣:
做完這一步之後,沒有問題的話,應該就可以看到CKEditor這個內容編輯器了
STEP:讀取內容
為了要測試內容編輯器有沒有安裝完全,我們可以利用javascript來測試看看是否讀取的到CKEditor裡面的內容,我們一樣在<head>和</head>間插入下面的語法:
<script> function processData(){ // getting data var data = CKEDITOR.instances.content.getData() alert(data); } </script>
在這段語法中,CKEDITOR.instances.content.getData()就是用來抓取CKEditor中內容的語法,如果沒有問題的話,按下送出的時候就會跳出內容編輯器中的內容了!
如果上面的測試都沒問題的話,我們就可以來測試看看把資料傳送到伺服器端,這裡使用的是PHP
我們在網頁的最上方插入這段php語法:
<? $text = $_POST['content']; echo "##".$text."##<br>"; ?>
並且在剛剛<script>的function中增加送出表單form.submit()的功能
完整的語法如下:
<? $text = $_POST['content']; echo "##".$text."##<br>"; ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <script src="ckeditor/ckeditor.js"></script> <title>CKEditor</title> <script> function processData(){ // getting data var data = CKEDITOR.instances.content.getData() alert(data); form.submit(); } </script> </head> <body> <form name = 'form' action = '#' method='post'> <textarea name="content" id="content" rows="10" cols="80"></textarea> <script> CKEDITOR.replace( 'content', { //輸入客製化條件 width: 1000, //設定內容編輯器寬度 }); </script> <input type = 'button' value = '送出' onclick = 'processData()'> </form> </body> </html>
順利的話,就會看到如下的結果嘍!
更多關於CKEditor的說明可參考這裡!
0 意見:
張貼留言