主頁 > 知識(shí)庫 > xhEditor編輯器入門基礎(chǔ)

xhEditor編輯器入門基礎(chǔ)

熱門標(biāo)簽:天津電銷卡外呼系統(tǒng)線路 興化400電話辦理多少錢 智能電銷機(jī)器人真的好嗎 企業(yè)電話機(jī)器人辦理 長(zhǎng)春防封卡電銷卡套餐 長(zhǎng)春銷售外呼系統(tǒng)業(yè)務(wù) 株洲外呼營銷系統(tǒng)有哪些 四平電話機(jī)器人哪家好 靈聲智能電話機(jī)器人招聘

1.1. 在線可視化HTML編輯器概述

在Web程序應(yīng)用中,最常見的一種行為是信息和言論的發(fā)布和交流。而在信息發(fā)布的同時(shí),往往會(huì)有對(duì)信息發(fā)布的格式、類型和功能上的需求,比如:加粗、下劃線等等,以使文字信息能夠更形象更美觀的傳達(dá)給閱讀者,同時(shí)也提高信息發(fā)布的工作效率。在這個(gè)需求的背景下,HTML在線編輯器就應(yīng)運(yùn)而生了。

顧名思義,在線HTML編輯器就是在線編輯HTML代碼的工具,它經(jīng)常被應(yīng)用于留言板留言、論壇發(fā)貼、Blog編寫日志或等需要用戶輸入HTML的地方,是Web應(yīng)用的常用模塊之一。在線HTML編輯器可以實(shí)現(xiàn)對(duì)編輯內(nèi)容添加各種豐富多彩的文字效果,以及提供各種方便快捷的操作功能,最大的提高編輯工作效率。在線HTML編輯器是任何網(wǎng)站不可或缺的重要功能組件,是互聯(lián)網(wǎng)用戶得心應(yīng)手的馳騁網(wǎng)絡(luò)的有力工具。


1.2. 獲取xhEditor

您可以訪問xhEditor官方網(wǎng)站下載最新版本的xhEditor編輯器,xhEditor官方網(wǎng)站地址為:http://xheditor.com/,打開右上角的免費(fèi)下載 | 代碼向?qū)ф溄?,即可找到最新版本的下載地址。

xhEditor無需任何安裝,無需任何設(shè)置,直接解壓縮并拷貝到你的網(wǎng)站相應(yīng)文件夾下面即可直接調(diào)用。


1.3. xhEditor運(yùn)行環(huán)境

xhEditor是基于瀏覽器的HTML、CSS和Javascript環(huán)境開發(fā)的,因此原則上市場(chǎng)上絕大部分瀏覽器我們都能完美的運(yùn)行,目前已測(cè)試的瀏覽器兼容列表如下:IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+ (+號(hào)代表往后所有新版本)。xhEditor是完全基于瀏覽器環(huán)境的,因此不存在操作系統(tǒng)選擇性,是完全跨平臺(tái)的。xhEditor同時(shí)也可以應(yīng)用在任何的服務(wù)端語言環(huán)境下,例如:PHP、ASP、ASP.NET、JAVA等,可以在您的CMS、博客、論壇、商城等互聯(lián)網(wǎng)平臺(tái)上完美的嵌入運(yùn)行,能夠非常靈活簡(jiǎn)單的和您的系統(tǒng)實(shí)現(xiàn)完美的無縫銜接。


1.4. xhEditor基本使用指南

您只需按照以下簡(jiǎn)單步驟即可學(xué)會(huì)使用xhEditor:
下載最新版本xhEditor:http://xheditor.com/download
將下載的壓縮文件解壓縮,上傳其中的xheditor-zh-cn.min.js以及xheditor_emot、xheditor_plugins和xheditor_skin三個(gè)文件夾到網(wǎng)站相應(yīng)文件夾中
在需要調(diào)用xhEditor編輯器的網(wǎng)頁head標(biāo)簽結(jié)束之前添加以下代碼:
script type="text/javascript" src="/js/jquery-1.4.2.min.js">/script>
script type="text/javascript" src="/js/xheditor-zh-cn.min.js">/script>
注:jQuery和xhEditor的js文件路徑請(qǐng)根據(jù)你網(wǎng)站具體路徑情況相應(yīng)修改
在需要實(shí)現(xiàn)可視化的文本框textarea屬性中添加:
class="xheditor {skin:'default'}"
注:前面主參數(shù)也可以是xheditor-mfull、xheditor-mini或xheditor-simple,分別加載多行完全、迷你和簡(jiǎn)單工具欄。后面大括號(hào)用來定義更多的初始化參數(shù),可以省略。

經(jīng)過以上步驟,你就已經(jīng)成功的將xhEditor編輯器安裝在你的網(wǎng)頁中。若需要學(xué)習(xí)更多xhEditor編輯器的使用技術(shù),請(qǐng)參閱:xhEditor進(jìn)階使用。
2. xhEditor進(jìn)階使用
2.1. 進(jìn)階使用指導(dǎo)
2.2. 初始化參數(shù)列表
2.3. API函數(shù)接口列表
2.4. 上傳程序開發(fā)規(guī)范
2.5. 插件開發(fā)指南
2.6. 皮膚設(shè)計(jì)指南
2.7. 關(guān)于二次開發(fā)

2.1. 進(jìn)階使用指導(dǎo)

閱讀本章節(jié)請(qǐng)先閱讀:xhEditor入門基礎(chǔ),若你已經(jīng)熟悉xhEditor的基本使用,請(qǐng)往下繼續(xù)。

xhEditor提供兩種方式初始化編輯器:
方法1:利用class屬性來初始化和傳遞各種初始化參數(shù),例:
class="xheditor {skin:'default'}"
方法2:利用xhEditor提供的jQuery插件接口來實(shí)現(xiàn)對(duì)特定textarea的初始化和傳遞參數(shù),例:
$('#elm1').xheditor();
或者
$('#elm1').xheditor({tools:'mini'});

特別說明:兩種初始化方法只能選擇其中一種使用,如果兩種方法的代碼同時(shí)存在頁面中,方法2的代碼不會(huì)有任何效果。

我們更傾向于推薦大家使用方法1,因?yàn)楦?jiǎn)單易用,不涉及任何的Javascript代碼。通過簡(jiǎn)單的參數(shù)設(shè)置即可定制各種效果的編輯器界面,簡(jiǎn)單易用且功能強(qiáng)大。

如果想實(shí)現(xiàn)更加復(fù)雜的交互應(yīng)用,或者希望xhEditor編輯器能夠和自己的Javascript代碼實(shí)現(xiàn)互相訪問,那么你可以選擇使用方法2,相對(duì)具有更大的自由空間。

xhEditor也提供了即時(shí)的卸載編輯器方法:
$('#elm1').xheditor(false);

2.2. 初始化參數(shù)列表

初始化參數(shù)示例代碼:
$('#elm1').xheditor({tools:'full',skin:'default',showBlocktag:true,internalScript:false,internalStyle:false,width:300,height:200,loadCSS:'http://xheditor.com/test.css',fullscreen:true,sourceMode:true,forcePtag:true,upImgUrl:"upload.php",upImgExt:"jpg,jpeg,gif,png"});

初始化參數(shù)列表:
tools:自定義工具按鈕
參數(shù)值:full(完全),mfull(多行完全),simple(簡(jiǎn)單),mini(迷你)
或者自定義字符串,例如:'Cut,Copy,Paste,Pastetext,|,Source,Fullscreen,About'

完整按鈕表:
|:分隔符
/:強(qiáng)制換行
Cut:剪切
Copy:復(fù)制
Paste:粘貼
Pastetext:文本粘貼
Blocktag:段落標(biāo)簽
Fontface:字體
FontSize:字體大小
Bold:粗體
Italic:斜體
Underline:下劃線
Strikethrough:中劃線
FontColor:字體顏色
BackColor:字體背景色
SelectAll:全選
Removeformat:刪除文字格式
Align:對(duì)齊
List:列表
Outdent:減少縮進(jìn)
Indent:增加縮進(jìn)
Link:超鏈接
Unlink:刪除鏈接
Img:圖片
Flash:Flash動(dòng)畫
Media:Windows media player視頻
Emot:表情
Table:表格
Source:切換源代碼模式
Preview:預(yù)覽當(dāng)前代碼
Print:打印
Fullscreen:切換全屏模式
About:關(guān)于xhEditor
skin:皮膚風(fēng)格選擇
參數(shù)值:default(默認(rèn)風(fēng)格),o2007blue(Office 2007 藍(lán)色),o2007silver(Office 2007 銀色),vista(Vista),nostyle(NoStyle)
layerShadow:陰影的深度(按鈕面板和模式窗口的背景陰影)
參數(shù)值:0(不顯示陰影),大于0的數(shù)值(顯示陰影并設(shè)置陰影的深度)
clickCancelDialog:點(diǎn)擊任意位置取消按鈕面板功能
參數(shù)值:默認(rèn)true(開啟點(diǎn)擊取消功能),false(關(guān)閉點(diǎn)擊取消功能,必需要點(diǎn)擊“取消”按鈕才能關(guān)閉按鈕面板)
showBlocktag:顯示段落標(biāo)簽
參數(shù)值:true(顯示段落標(biāo)簽),false(不顯示)
linkTag:樣式鏈接link標(biāo)簽保留狀態(tài)
參數(shù)值:true(保留樣式鏈接link標(biāo)簽),false(清理樣式鏈接link標(biāo)簽)
internalScript:內(nèi)部JS代碼保留狀態(tài)
參數(shù)值:true(保留內(nèi)部JS代碼),false(清理內(nèi)部JS代碼)
inlineScript:內(nèi)聯(lián)JS代碼保留狀態(tài)
參數(shù)值:true(保留內(nèi)聯(lián)JS代碼),false(清理內(nèi)聯(lián)JS代碼)
internalStyle:內(nèi)部樣式保留狀態(tài)
參數(shù)值:true(保留內(nèi)部樣式),false(清理內(nèi)部樣式)
inlineStyle:內(nèi)聯(lián)樣式保留狀態(tài)
參數(shù)值:true(保留內(nèi)聯(lián)樣式),false(清理內(nèi)聯(lián)樣式)
width:編輯器寬度
參數(shù)值:不帶單位的數(shù)字,例:300
height:編輯器高度
參數(shù)值:不帶單位的數(shù)字,例:100
loadCSS:加載樣式
參數(shù)值:URL地址、URL數(shù)組以及直接內(nèi)部樣式,例如:'1.css'、['1.css','2.css']、'style>body{font-size:20px;}/style>'br />備注:1.0.0 RC3新添加加載內(nèi)部樣式功能
fullscreen:默認(rèn)全屏顯示
參數(shù)值:true(全屏大小),false(標(biāo)準(zhǔn)大小)
sourceMode:默認(rèn)源代碼模式
參數(shù)值:true(源代碼模式),false(編輯模式)
forcePtag:強(qiáng)制P標(biāo)簽
參數(shù)值:true(強(qiáng)制使用P標(biāo)簽),false(不強(qiáng)制),默認(rèn)true
forcePasteText:強(qiáng)制將粘貼的內(nèi)容轉(zhuǎn)換為文本
參數(shù)值:true(強(qiáng)制轉(zhuǎn)文本),false(不轉(zhuǎn)文本),默認(rèn)false
備注:v1.1.0新添加
disableContextmenu:禁用編輯區(qū)的右鍵菜單
參數(shù)值:true(禁用右鍵菜單),false(不禁用),默認(rèn)false
備注:v1.1.0新添加
editorRoot:編輯器JS文件所在的根路徑
參數(shù)值:編輯器所在的根路徑,用在某些特殊情況下定位編輯器的根路徑,默認(rèn)為空,讀取默認(rèn)的編輯器根路徑
備注:v1.1.0新添加
shortcuts:自定義鍵盤快捷方式
參數(shù):快捷鍵對(duì)應(yīng)事件代碼的對(duì)象數(shù)組
示例:{'ctrl+enter':function(){$('#frmTest').submit();}}
備注:1.0.0 beta2新添加
urlBase:相對(duì)URL地址的基地址
參數(shù):字符串的URL地址,用以解決前后臺(tái)不在同一路徑的資源定位問題
備注:1.1.0新添加
urlType:本地URL地址強(qiáng)制轉(zhuǎn)換方式選擇
參數(shù):abs(絕對(duì)路徑),root(根路徑),rel(相對(duì)路徑)
備注:1.0.0 beta2新添加,v1.1.0版中名字由localUrl變更為urlType
emotPath:修改表情圖片的URL根路徑
參數(shù):字符串的URL地址,默認(rèn)為空,指向編輯器路徑下的默認(rèn)表情
備注:1.1.0新添加
emotMark:是否在表情img標(biāo)簽上標(biāo)注emot屬性
參數(shù):true(標(biāo)注),false(不標(biāo)注),默認(rèn)為false
說明:若使用了ubb插件,請(qǐng)?jiān)O(shè)置此屬性為true
備注:1.0.0 beta2新添加
emots:添加自定義表情
參數(shù):可定義多個(gè)JSON對(duì)象數(shù)組,示例如下:{qq:{name:'QQ',count:55,width:25,height:25,line:11},msn:{name:'MSN',count:40,width:22,height:22,line:8}}
name:表情分組名
count:表情數(shù)量
list:表情列表,例:{test1:'表情1',test2:'表情2'},鍵名代表文件名,擴(kuò)展名必需為gif,鍵值代表alt信息
width:?jiǎn)蝹€(gè)表情區(qū)域?qū)挾?,必需大于或等于表情最大寬?
height:?jiǎn)伪砬閰^(qū)域高度,必需大于或等于表情最大高度
line:?jiǎn)涡酗@示表情數(shù)量
說明:count和list必需選其中一個(gè)值,注意count模式插入表情img的alt為空
備注:1.0.0 beta2新添加
wordDeepClean:Word文檔深入清理選項(xiàng)
參數(shù):true(深入清理),false(不深入清理,保留style樣式效果),默認(rèn)為true
說明:若網(wǎng)站應(yīng)用需要保留更多的Word樣式效果,請(qǐng)?jiān)O(shè)置此值為false,不過產(chǎn)生的HTML代碼體積會(huì)大大增大
備注:1.0.0 beta2新添加
hoverExecDelay:懸停自動(dòng)執(zhí)行延遲的時(shí)間
參數(shù):數(shù)值(單位毫秒),默認(rèn)為100,設(shè)置為-1關(guān)閉此功能
備注:1.0.0 rc2新添加
defLinkText:超鏈接的默認(rèn)文字
參數(shù)值:字符串(默認(rèn)值:“點(diǎn)擊打開鏈接”)
說明:只在不選擇任何內(nèi)容的情況下才會(huì)用到這個(gè)參數(shù)值
modalWidth:showModal彈出窗口的默認(rèn)寬度
參數(shù)值:數(shù)值,默認(rèn)為350
說明:彈出窗口的默認(rèn)寬度
modalHeight:showModal彈出窗口的默認(rèn)高度
參數(shù)值:數(shù)值,默認(rèn)為220
說明:彈出窗口的默認(rèn)高度
modalTitle:showModal彈出窗口是否顯示上方的標(biāo)題欄
參數(shù)值:true(顯示),false(不顯示)
說明:控制彈出窗口是否顯示上方的標(biāo)題欄,默認(rèn)為顯示,若需要顯示一個(gè)更定制個(gè)性化的iframe窗口,可通過此參數(shù)隱藏上方的標(biāo)題欄
upBtnText:上傳按鈕的文字
參數(shù)值:任意字符串,默認(rèn)值:“上傳”
備注:1.0.0 beta2新添加
html5Upload:是否開啟HTML5上傳支持
參數(shù)值:true(允許),false(不允許),默認(rèn)為true允許
說明:本功能需要瀏覽器支持HTML5上傳
備注:1.0.0 Final新添加
upMultiple:允許一次上傳多少個(gè)文件
參數(shù)值:大于0的數(shù)值,默認(rèn):99,設(shè)置為1關(guān)閉多文件上傳
說明:本功能需要瀏覽器支持HTML5上傳
備注:1.0.0 RC3新添加
upLinkUrl:超鏈接文件上傳接收URL
參數(shù)值:接收用戶上傳的服務(wù)器端程序URL,默認(rèn)留空為禁用超鏈接上傳功能,具體使用方法請(qǐng)參考demo8演示文件
注:可使用內(nèi)置變量:{editorRoot},代表當(dāng)前編輯器的根路徑,例:{editorRoot}upload.php
upLinkExt:超鏈接上傳前限制本地文件擴(kuò)展名
參數(shù)值:超鏈接上傳前限制的文件擴(kuò)展名列表,默認(rèn)為:zip,rar,txt,建議與服務(wù)端擴(kuò)展名檢查列表一致
upImgUrl:圖片文件上傳接收URL
參數(shù)值:接收用戶上傳的服務(wù)器端程序URL,默認(rèn)留空為禁用上傳功能,具體使用方法請(qǐng)參考demo8演示文件
注:可使用內(nèi)置變量:{editorRoot},代表當(dāng)前編輯器的根路徑,例:{editorRoot}upload.php
upImgExt:圖片上傳前限制本地文件擴(kuò)展名
參數(shù)值:圖片上傳前限制的文件擴(kuò)展名列表,默認(rèn)為:jpg,jpeg,gif,png,建議與服務(wù)端擴(kuò)展名檢查列表一致
upFlashUrl:動(dòng)畫文件上傳接收URL
參數(shù)值:接收用戶上傳的服務(wù)器端程序URL,默認(rèn)留空為禁用上傳功能,具體使用方法請(qǐng)參考demo8演示文件
注:可使用內(nèi)置變量:{editorRoot},代表當(dāng)前編輯器的根路徑,例:{editorRoot}upload.php
upFlashExt:動(dòng)畫上傳前限制本地文件擴(kuò)展名
參數(shù)值:動(dòng)畫上傳前限制的文件擴(kuò)展名列表,默認(rèn)為:swf,建議與服務(wù)端擴(kuò)展名檢查列表一致
upMediaUrl:視頻文件上傳接收URL
參數(shù)值:接收用戶上傳的服務(wù)器端程序URL,默認(rèn)留空為禁用上傳功能,具體使用方法請(qǐng)參考demo8演示文件
注:可使用內(nèi)置變量:{editorRoot},代表當(dāng)前編輯器的根路徑,例:{editorRoot}upload.php
upMediaExt:視頻上傳前限制本地文件擴(kuò)展名
參數(shù)值:視頻上傳前限制的文件擴(kuò)展名列表,默認(rèn)為:avi,建議與服務(wù)端擴(kuò)展名檢查列表一致
onUpload:文件上傳成功回調(diào)函數(shù)
參數(shù)值:成功后需要執(zhí)行的函數(shù)
說明:這個(gè)函數(shù)執(zhí)行時(shí)返回的值為上傳程序返回的msg變量,可能為字符串或者數(shù)組,若為字符串則直接代表url,若是數(shù)組,則必需包含一個(gè)url的變量,其它可由可開發(fā)者自定義
備注:1.0.0 beta2新添加
plugins:自定義按鈕之插件擴(kuò)展
插件對(duì)象的屬性解釋:
c:樣式表名稱
t:插件名字(鼠標(biāo)在按鈕上方時(shí)顯示)
s:快捷方式,例:"ctrl+enter"
h:是否鼠標(biāo)懸停直接執(zhí)行,1:直接執(zhí)行(省略當(dāng)前值代表不直接執(zhí)行)
e:按鈕點(diǎn)擊后需要執(zhí)行的代碼(省略執(zhí)行代碼,則把當(dāng)前的插件名作為參數(shù),調(diào)用瀏覽器的execCommand函數(shù))

特別說明:
如果您希望樣式表存儲(chǔ)在系統(tǒng)自帶的模板目錄ui.css中,請(qǐng)將插件對(duì)象的樣式名留空,則會(huì)自動(dòng)按照插件名來調(diào)用相應(yīng)的樣式,例如:xhEdtBtnCut、xhEdtBtnCopy,其中的Cut和Copy是插件名

具體調(diào)用方法請(qǐng)參考演示文件夾中的demo9


2.3. API函數(shù)接口列表

API接口示例代碼:
var editor=$('#elm1').xheditor({tools:'full',skin:'default'});
editor.focus();
editor.setSource('str')
sHtml=editor.getSource()
editor.appendHTML('p>aaa/p>')
editor.pasteHTML('p>aaa/p>')
editor.pasteText('str')
sHtml=editor.formatXHTML('b>aaa/b>')
editor.toggleSource()
editor.toggleFullscreen()
alert(editor.settings.upImgExt);
editor.settings.upImgExt='txt,doc';

API接口列表:
focus:使編輯器獲得焦點(diǎn)
無參數(shù)
setSource:設(shè)置編輯器源代碼
參數(shù)1:要設(shè)置的源代碼內(nèi)容,例:'p>aaa/p>'
getSource:返回編輯器格式后的源代碼
無參數(shù)
appendHTML:粘貼HTML內(nèi)容到編輯器結(jié)尾處
參數(shù)1:要粘貼的HTML代碼,例:'p>uuu/p>'
注:0.9.5版添加
getSelect:返回當(dāng)前選中的內(nèi)容
參數(shù)1:返回格式,可選'text'返回文本格式,其它所有值都返回HTML格式
pasteHTML:粘貼HTML內(nèi)容到編輯器當(dāng)前光標(biāo)處
參數(shù)1:要粘貼的HTML代碼,例:'p>uuu/p>'
參數(shù)2:是否覆蓋粘貼,留空(覆蓋粘貼)、true(粘貼在光標(biāo)選擇區(qū)域之前)、false(粘貼在光標(biāo)選擇區(qū)域之后)
pasteText:粘貼文本到編輯器當(dāng)前光標(biāo)處
參數(shù)1:要粘貼的文本,例:'這里的內(nèi)容完全原樣顯示strong>aaa/strong>'
參數(shù)2:是否覆蓋粘貼,留空(覆蓋粘貼)、true(粘貼在光標(biāo)選擇區(qū)域之前)、false(粘貼在光標(biāo)選擇區(qū)域之后)
formatXHTML:格式化XHTML代碼
參數(shù)1:需要格式化的HTML代碼,例:'b>aaa/b>',返回'strong>aaa/strong>'
參數(shù)2:是否代碼縮進(jìn)換行,true(執(zhí)行縮進(jìn)格式化),false(不執(zhí)行縮進(jìn)格式化),默認(rèn)為false
toggleSource:在源代碼模式和編輯模式之間切換
參數(shù)1:空(切換),true(顯示源代碼模式),false(顯示編輯模式)
toggleFullscreen:在全屏模式和標(biāo)準(zhǔn)大小之間切換
參數(shù)1:空(切換),true(顯示全屏模式),false(顯示標(biāo)準(zhǔn)模式)
toggleShowBlocktag:切換塊標(biāo)簽顯示狀態(tài)
參數(shù)1:空(切換),true(切換為顯示塊標(biāo)簽),false(切換為不顯示塊標(biāo)簽)
addShortcuts:添加快捷鍵
參數(shù)1:快捷鍵值,例:'ctrl+enter'
參數(shù)2:用戶按下快捷鍵后需要響應(yīng)的程序代碼,例:function(){$('#frmTest').submit();}
說明:允許為某個(gè)相同快捷鍵值重復(fù)添加多個(gè)響應(yīng)代碼
備注:1.0.0 beta2新添加
delShortcuts:刪除快捷鍵
參數(shù)1:快捷鍵值,例:'ctrl+enter'

備注:1.0.0 Final新添加
exec:立即執(zhí)行按鈕及插件
參數(shù)1:工具按鈕名稱(不區(qū)分大小寫),例:Link、img
說明:此函數(shù)可以在插件內(nèi)部或者外部Javascript代碼中進(jìn)行調(diào)用
showModal:顯示模式窗口
參數(shù)1:模式窗口的標(biāo)題title
參數(shù)2:模式窗口的內(nèi)容content
參數(shù)3:模式窗口的寬度w
參數(shù)4:模式窗口的高度h
參數(shù)5:模式窗口關(guān)閉時(shí)的回調(diào)函數(shù)onRemove
showIframeModal:顯示iframe式的模式窗口
參數(shù)1:模式窗口的標(biāo)題
參數(shù)2:iframe的地址ifmurl,可使用內(nèi)置變量:{editorRoot},代表當(dāng)前編輯器的根路徑,例:{editorRoot}xheditor_plugins/test.html
參數(shù)3:提供給目標(biāo)iframe頁面回調(diào)用的回調(diào)函數(shù),可以在iframe頁面中以這樣的形式調(diào)用:callback('1.gif');
參數(shù)4:模式窗口的寬度w
參數(shù)5:模式窗口的高度h
參數(shù)6:模式窗口關(guān)閉時(shí)的回調(diào)函數(shù)onRemove
settings:獲取或者修改編輯器內(nèi)部參數(shù)
internalScript:是否清除內(nèi)部代碼
inlineScript:是否清除內(nèi)聯(lián)代碼
internalStyle:是否清除內(nèi)部樣式
inlineStyle:是否清除內(nèi)聯(lián)樣式
forcePtag:強(qiáng)制使用P標(biāo)簽
upLinkUrl:超鏈接上傳接口地址
upLinkExt:超鏈接本地上傳擴(kuò)展限制
upImgUrl:圖片上傳接口地址
upImgExt:圖片本地上傳擴(kuò)展限制
upFlashUrl:動(dòng)畫上傳接口地址
upFlashExt:動(dòng)畫本地上傳擴(kuò)展限制
upMediaUrl:視頻上傳接口地址
upMediaExt:視頻本地上傳擴(kuò)展限制
beforeSetSource:在設(shè)置源代碼到編輯器前調(diào)用此函數(shù)
beforeGetSource:從編輯器返回源代碼前調(diào)用此函數(shù)
focus:編輯器獲得焦點(diǎn)時(shí)回調(diào)此函數(shù)
blur:編輯器失去焦點(diǎn)時(shí)回調(diào)此函數(shù)

注:修改有效變量?jī)H限以上,其它的變量都僅在編輯器初始化時(shí)使用


2.4. 上傳程序開發(fā)規(guī)范


上傳接收程序開發(fā)必讀:
上傳程序分標(biāo)準(zhǔn)HTML4上傳和HTML5上傳兩種情況處理:
1, HTML4上傳使用標(biāo)準(zhǔn)的表單上傳域,上傳文件域的name為:filedata
2, HTML5上傳的整個(gè)POST數(shù)據(jù)流就是上傳的文件完整數(shù)據(jù),而本地文件名等信息儲(chǔ)存于HTTP_CONTENT_DISPOSITION這個(gè)服務(wù)器變量中
返回內(nèi)容必需是標(biāo)準(zhǔn)的json字符串,結(jié)構(gòu)可以是如下:{"err":"","msg":"200906030521128703.gif"} 或者 {"err":"","msg":{"url":"200906030521128703.jpg","localfile":"test.jpg","id":"1"}} 注:若選擇結(jié)構(gòu)2,則url變量是必有

需了解更多細(xì)節(jié),請(qǐng)參考發(fā)行包中的demos文件夾。其中upload.php、upload.asp、upload.aspx僅為演示參考代碼,若您使用的是其它的服務(wù)器腳本語言,請(qǐng)自行對(duì)初始化參數(shù)中的upLinkUrl、upImgUrl、upFlashUrl和upMediaUrl進(jìn)行修改,并開發(fā)相應(yīng)服務(wù)器上傳接收程序。若您希望在自己的項(xiàng)目中實(shí)際使用,請(qǐng)自行修改代碼或者重新開發(fā),開發(fā)過程中請(qǐng)注意上傳文件的格式及大小限制,注意服務(wù)器腳本安全問題。


上傳文件管理建議方案:
在編輯器初始化時(shí)在upload.php后面跟上一個(gè)服務(wù)器生成的絕對(duì)唯一的跟蹤值,例如:upload.php?infoid=123
在服務(wù)器接收程序中以這個(gè)跟蹤值保存到數(shù)據(jù)庫中,同時(shí)也可以限制單個(gè)跟蹤值下總上傳文件數(shù)或者總文件大小,否則就是一個(gè)可以上傳無限個(gè)文件的漏洞了
最終當(dāng)前表單提交時(shí),再根據(jù)編輯器提交的HTML內(nèi)容和數(shù)據(jù)庫中上傳內(nèi)容進(jìn)行比較,刪除所有沒有使用的上傳文件
定期由服務(wù)器腳本刪除上傳數(shù)據(jù)庫中沒提交的文件記錄,這樣就能防止別人將你的網(wǎng)站作為免費(fèi)相冊(cè)空間了


2.5. 插件開發(fā)指南

標(biāo)準(zhǔn)插件開發(fā)流程:
設(shè)計(jì)插件圖標(biāo)并在頁面中定義好CSS
定義插件參數(shù)并寫入初始化參數(shù)plugins
編寫插件調(diào)用時(shí)要執(zhí)行的代碼

下面我們就demo09中的一個(gè)最簡(jiǎn)單插件作介紹:
style type="text/css">
.testClassName {
background:transparent url(img/plugin.gif) no-repeat 20px 20px;
background-position:3px 3px;
}
/style>
test7:{c:'testClassName',t:'測(cè)試7:showIframeModal (Ctrl+7)',s:'ctrl+7',e:function(){
var _this=this;
_this.showIframeModal('測(cè)試showIframeModal接口','uploadgui.html',function(v){_this.loadBookmark();_this.pasteText('返回值:\r\n'+v);},500,300);
}}

這個(gè)插件實(shí)現(xiàn)的功能是打開一個(gè)iframe,并將iframe返回的參數(shù)字符串插入到當(dāng)前編輯器光標(biāo)處。
其中test7為插件的name,用來在tools初始化參數(shù)中調(diào)用
c:'testClassName'為插件的樣式名稱
t:'測(cè)試7:showIframeModal (Ctrl+7)'是鼠標(biāo)放在按鈕上顯示的提示文字
s:'ctrl+7'是定義插件的快捷方式,在編輯器區(qū)域里按設(shè)置的快捷方式就會(huì)執(zhí)行此插件事件;
e:function(){}為插件點(diǎn)擊后要執(zhí)行的代碼

特別說明:
插件執(zhí)行函數(shù)中可以用this.的方式調(diào)用2.3.章節(jié)中所有的API接口函數(shù)。如果使用回調(diào)函數(shù),請(qǐng)將this變量保存在臨時(shí)變量中,例如_this;
在某些瀏覽器下,打開會(huì)轉(zhuǎn)移焦點(diǎn)的操作界面,會(huì)導(dǎo)致編輯區(qū)域焦點(diǎn)丟失。例如:showIframeModal,在回調(diào)函數(shù)中需先執(zhí)行l(wèi)oadBookmark函數(shù)恢復(fù)焦點(diǎn),之后才能調(diào)用pasteHTML等函數(shù);
如果希望樣式表存儲(chǔ)在系統(tǒng)自帶的模板目錄ui.css中,請(qǐng)將插件對(duì)象樣式名留空,則會(huì)自動(dòng)按照插件名來調(diào)用相應(yīng)的樣式,例如:xhEdtBtnCut、xhEdtBtnCopy,其中的Cut和Copy是插件名;

若希望xhEditor開發(fā)團(tuán)隊(duì)為您定制特殊的功能、皮膚和插件,請(qǐng)參閱我們提供的商業(yè)服務(wù)頁面。


2.6. 皮膚設(shè)計(jì)指南

xhEditor的皮膚保存在xheditor_skin文件夾中,每個(gè)皮膚一個(gè)子文件夾,文件夾結(jié)構(gòu)如下:
xheditor_skin
└─default
├─ui.css
├─iframe.css
└─img
├─icons.gif
├─...
└─loading.gif
編輯器按鈕、面板、模式窗口等樣式全部統(tǒng)一存儲(chǔ)在ui.css文件中
編輯區(qū)域的樣式存儲(chǔ)在iframe.css文件中
編輯器內(nèi)核用到的圖片及css文件中用到的所有圖片統(tǒng)一存儲(chǔ)在img文件夾中
ui.css文件簡(jiǎn)單解析

xheLayout:編輯器table樣式;xheTool:工具按鈕所在區(qū)域的樣式;xheButton:按鈕樣式;xhePanel:操作面板的樣式;xheMenu:菜單樣式;xheEmot:表情樣式;xheColor:顏色選擇器的樣式;xheDialog:面板上的對(duì)話框樣式;xheModal:模式窗口樣式;

xhEditor皮膚結(jié)構(gòu)相對(duì)非常簡(jiǎn)單,有一定的HTML和CSS設(shè)計(jì)基礎(chǔ)即可完成設(shè)計(jì)工作。

若希望xhEditor開發(fā)團(tuán)隊(duì)為您定制特殊的功能、皮膚和插件,請(qǐng)參閱我們提供的商業(yè)服務(wù)頁面。


2.7. 關(guān)于二次開發(fā)

由于二次開發(fā)相對(duì)復(fù)雜度較高,需要對(duì)xhEditor源代碼結(jié)構(gòu)熟悉,而開發(fā)者的水平有高有低,因此容易出現(xiàn)的問題也五花八門。鑒于這個(gè)原因,xhEditor開發(fā)團(tuán)隊(duì)對(duì)非商業(yè)授權(quán)用戶不提供任何的技術(shù)文檔和技術(shù)支持,希望大家理解。

若希望xhEditor開發(fā)團(tuán)隊(duì)為您定制特殊的功能、皮膚和插件,請(qǐng)參閱我們提供的商業(yè)服務(wù)頁面。

 


3. 其它相關(guān)
3.1. 使用常見問題


3.1. 使用常見問題
xhEditor能兼容哪些jQuery版本?
我的網(wǎng)頁是GB2312編碼的,怎樣才能使xhEditor編輯器沒有亂碼?
正常加載了xhEditor,讀取textarea的value值,為什么讀取不到最新編輯結(jié)果?
怎么添加自定義的表情?
怎么覆蓋編輯器自帶的默認(rèn)表情?
當(dāng)前頁面設(shè)置了document.domain,如何讓xhEditor工作正常?
textarea處在隱藏的區(qū)域中,如何初始化編輯器?
使用普通表單提交,怎么每次服務(wù)端取到的值總是之前舊的編輯結(jié)果?
xhEditor能兼容哪些jQuery版本?

xhEditor最初的版本是基于jQuery 1.3.2開發(fā)的,因此目前v1.0系列的所有版本都能最大的兼容1.3.2。為了獲得更好的代碼性能,目前xhEditor官方更建議使用最新的1.4.2版本。

雖然說v1.0版本系列能最大的兼容jQuery 1.3.2,但是在實(shí)際測(cè)試過程中,也發(fā)現(xiàn)一個(gè)不可修正的問題:在IE6下無法使用縮略圖上傳模式。如果你不需要使用縮略圖模式,可以在jQuery 1.3.2基礎(chǔ)上完美的運(yùn)行xhEditor v1.0版本系列。
我的網(wǎng)頁是GB2312編碼的,怎樣才能使xhEditor編輯器沒有亂碼?

如果使用最新版xhEditor的mini壓縮版本,因?yàn)槔锩娴奈淖滞耆玼tf-8編碼化,可以直接調(diào)用,不會(huì)出現(xiàn)亂碼現(xiàn)象。

如果使用的是源代碼js文件或早期的xhEditor版本,在非utf-8編碼的網(wǎng)頁中使用就會(huì)出現(xiàn)亂碼現(xiàn)象,只需將script的charset屬性設(shè)置成utf-8即可完美解決:
script type="text/javascript" charset="utf-8" src="xheditor-zh-cn.js">/script>
正常加載了xhEditor,讀取textarea的value值,為什么讀取不到最新編輯結(jié)果?

目前網(wǎng)絡(luò)中所有的在線編輯器都是利用新創(chuàng)建的iframe來實(shí)現(xiàn)可視化編輯功能,xhEditor也不例外,所以在提交前必需要將最新的編輯結(jié)果重新同步到原來的textarea。

xhEditor默認(rèn)會(huì)在textarea所在的form對(duì)象中綁定onsubmit事件,當(dāng)用戶點(diǎn)擊submit按鈕時(shí),xhEditor就會(huì)將最新結(jié)果同步回textarea,隨后隨表單中的其它表單項(xiàng)一同提交到服務(wù)端腳本。因此,如果不需要用Javascript額外處理,普通的表單式提交是沒任何問題的。

如果網(wǎng)頁中需要用Javascript額外處理編輯結(jié)果,比如ajax提交表單,則有三種解決方案:
使用jQuery的事件綁定或者標(biāo)準(zhǔn)DOM綁定方法在form上綁定submit事件(綁定代碼必需在xhEditor初始化代碼后面),即是在xhEditor把值回傳后再讀取,在相應(yīng)綁定的函數(shù)中讀取textarea的value值即是最新編輯結(jié)果;
使用jQuery的標(biāo)準(zhǔn)取值方法:$('#textarea_id').val();
使用xhEditor提供的專用讀值A(chǔ)PI接口:editor.getSource();

怎么添加自定義的表情?

可以在初始化參數(shù)中使用emots參數(shù)來自

標(biāo)簽:青海 貴港 漯河 巴彥淖爾 運(yùn)城 新疆 黑龍江 石嘴山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《xhEditor編輯器入門基礎(chǔ)》,本文關(guān)鍵詞  xhEditor,編輯器,入門,基礎(chǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《xhEditor編輯器入門基礎(chǔ)》相關(guān)的同類信息!
  • 本頁收集關(guān)于xhEditor編輯器入門基礎(chǔ)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章