校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > fckeditor 代碼語法高亮

fckeditor 代碼語法高亮

熱門標(biāo)簽:靈聲智能電話機(jī)器人招聘 長春防封卡電銷卡套餐 智能電銷機(jī)器人真的好嗎 天津電銷卡外呼系統(tǒng)線路 四平電話機(jī)器人哪家好 興化400電話辦理多少錢 企業(yè)電話機(jī)器人辦理 株洲外呼營銷系統(tǒng)有哪些 長春銷售外呼系統(tǒng)業(yè)務(wù)
先是IE:
1、遺留的問題:隱藏的源碼和格式化后的代碼有會(huì)有問題。
經(jīng)上次研究的結(jié)果,兩處的代碼有可能不對,主要是HTML的特別代碼,像代碼里有標(biāo)簽div>,JavaScript代碼里有alt等。這里的解決方法很簡單:只要替換一下就可以了,不過要注意,在進(jìn)行格式化之前就進(jìn)行替換。因?yàn)殡[藏的代碼也是要替換的,最后取的時(shí)候也要替換回去,但是要反順序。代碼如下:
復(fù)制代碼 代碼如下:

.replace(//g, "")
.replace(//g, "lt;")
.replace(/>/g,'gt;');

2、在FCKeditor里很多控件都有右鍵菜單可以修改其屬性,代碼高亮我也想增加一個(gè)!到FCKeditor官方網(wǎng)站找了一遍成功的增加了,代碼如下(代碼放在fckplugin.js):
復(fù)制代碼 代碼如下:

// 添加右鍵菜單
FCK.ContextMenu.RegisterListener( {
AddItems : function( menu, tag, tagName )
{
if (!tag)
return;

var oDiv = tag;

// 循環(huán)的作用看一下代碼就知道了,是為了選擇高亮代碼的最頂層元素
while (oDiv.parentNode){
if (oDiv.tagName == usingTag oDiv.className == usingFlag)
break;
oDiv = oDiv.parentNode;
}

// under what circumstances do we display this option
if ( oDiv.tagName == usingTag oDiv.className == usingFlag )// (tag._FCKHighLighter || tag.parentElement._FCKHighLighter) )
{
FCKSelection.SelectNode( oDiv ) ;
// when the option is displayed, show a separator the command
menu.AddSeparator() ;
// the command needs the registered command name, the title for the context menu, and the icon path
menu.AddItem( 'HighLighter', FCKLang['DlgSyntaxHighLighterProperty'], oHighLighterItem.IconPath ) ;
}
}}
);

3、試用了一下效果,發(fā)現(xiàn)雙擊修改時(shí)只能雙擊代碼行數(shù)左邊的灰色才能彈出修改。我覺得不大方便,如果雙擊代碼處也可以彈出修改就方便多了!嘿嘿,答案是肯定的,之前的代碼已經(jīng)注冊了DIV標(biāo)簽的雙擊事件,所以再注冊一下格式化后的代碼用到的SPAN和LI標(biāo)簽就可以了,代碼如下(代碼放在fckplugin.js):
復(fù)制代碼 代碼如下:

// 添加雙擊事件
FCK.RegisterDoubleClickHandler( FCKHighLighter.OnDoubleClick, usingTag ) ; // 雙擊灰色欄
FCK.RegisterDoubleClickHandler( FCKHighLighter.OnDoubleClick, 'SPAN' ) ; // 雙擊代碼
FCK.RegisterDoubleClickHandler( FCKHighLighter.OnDoubleClick, 'LI' ) ; // 雙擊代碼區(qū)空白
// 添加雙擊事件
FCK.RegisterDoubleClickHandler( FCKHighLighter.OnDoubleClick, usingTag ) ; // 雙擊灰色欄
FCK.RegisterDoubleClickHandler( FCKHighLighter.OnDoubleClick, 'SPAN' ) ; // 雙擊代碼
FCK.RegisterDoubleClickHandler( FCKHighLighter.OnDoubleClick, 'LI' ) ; // 雙擊代碼區(qū)空白

4、再試一下,發(fā)現(xiàn)雙擊代碼行數(shù)這里可以進(jìn)行修改。但是雙擊代碼就不行,拿不到隱藏的源碼。原因是因?yàn)樵诖a里雙擊的不是頂層元素,那簡單,修改一下雙擊的代碼,取得頂層元素就OK了(代碼放在fckplugin.js):
復(fù)制代碼 代碼如下:

/ /雙擊事件處理代碼
FCKHighLighter.OnDoubleClick = function( div ){
var oDiv = div;

// 循環(huán)的作用看一下代碼就知道了,是為了選擇高亮代碼的最頂層元素
while (oDiv.parentNode){
if (oDiv.tagName == usingTag oDiv.className == usingFlag)
break;
oDiv = oDiv.parentNode;
}

if(oDiv.tagName == usingTag oDiv.className == usingFlag) {
FCKSelection.SelectNode( oDiv ) ;
FCKCommands.GetCommand( 'HighLighter' ).Execute() ;
}
}

5、把編輯轉(zhuǎn)到源代碼再轉(zhuǎn)回來的時(shí)候發(fā)現(xiàn)高亮的代碼已經(jīng)不可以編輯了。研究之下發(fā)現(xiàn)是用于標(biāo)識(shí)的屬性沒有了,因?yàn)檫@個(gè)標(biāo)識(shí)的屬性是非標(biāo)準(zhǔn)的HTML屬性。這個(gè)也好辦,反正頂層的class屬性沒用,就直接拿來用就可以了。這個(gè)簡單,我就不給代碼了。
IE里的修改算是完成了,而且比較完美。
再來FF:
  本人用系統(tǒng),用軟件都用得比較雜,有時(shí)候會(huì)用用FF,所以修改的東西一定要支持FF。再說,F(xiàn)CKeditor本身是兼容IE和FF的,增加的插件只支持IE有點(diǎn)說不過去。
1、首先試用了一下效果:發(fā)現(xiàn)已經(jīng)可以插入,不過不可以修改。雙擊事件也有效,但也是不能修改。這個(gè)原因是因?yàn)镕F跟IE不同,IE里可以把DIV標(biāo)簽直接選擇,F(xiàn)F里不可以。所以要加一個(gè)單擊的事件,讓代碼幫助FF選擇頂層元素,原始代碼是從FCKeditor的Placeholder插件里COPY過來的(代碼放在fckplugin.js):
復(fù)制代碼 代碼如下:

// 單擊事件處理代碼
FCKHighLighter._ClickListener = function( e )
{
var oDiv = e.target;

// 循環(huán)的作用看一下代碼就知道了,是為了選擇高亮代碼的最頂層元素
while (oDiv.parentNode){
if (oDiv.tagName == usingTag oDiv.className == usingFlag)
break;
oDiv = oDiv.parentNode;
}

if ( oDiv.tagName == usingTag oDiv.className == usingFlag )
FCKSelection.SelectNode( oDiv ) ;
}

FCKHighLighter._SetupClickListener = function (){
if (FCKBrowserInfo.IsGecko)
FCK.EditorDocument.addEventListener( 'click', FCKHighLighter._ClickListener, true ) ;
}

// 添加單擊事件
FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKHighLighter._SetupClickListener ) ;

// 添加右鍵菜單
FCK.ContextMenu.RegisterListener( {
AddItems : function( menu, tag, tagName )
{
if (!tag)
return;

var oDiv = tag;

// 循環(huán)的作用看一下代碼就知道了,是為了選擇高亮代碼的最頂層元素
while (oDiv.parentNode){
if (oDiv.tagName == usingTag oDiv.className == usingFlag)
break;
oDiv = oDiv.parentNode;
}

// under what circumstances do we display this option
if ( oDiv.tagName == usingTag oDiv.className == usingFlag )// (tag._FCKHighLighter || tag.parentElement._FCKHighLighter) )
{
FCKSelection.SelectNode( oDiv ) ;
// when the option is displayed, show a separator the command
menu.AddSeparator() ;
// the command needs the registered command name, the title for the context menu, and the icon path
menu.AddItem( 'HighLighter', FCKLang['DlgSyntaxHighLighterProperty'], oHighLighterItem.IconPath ) ;
}
}}
);

注明:這個(gè)需要修改FCKeditor的核心代碼,因?yàn)槲野l(fā)現(xiàn)在2.5.1版本在FF下不可以修改選擇的元素,但是最新的2.6測試版就可以。所以需要修改_source\internals\fckselection_gecko.js文件里的GetSelectedElement函數(shù),并且使用官方工具fckpackager.exe重新打包JavaScript代碼,這個(gè)我有空再寫一下。
  到這里已經(jīng)差不多了,其中還有一些小問題沒有說,例如:高亮的代碼里可以直接修改(為標(biāo)簽增加一個(gè)contentEditable='false'就完了),JS代碼兼容要使用parentNode不要使用parentElement等。
  本來想在添加代碼的窗口也增加一個(gè)實(shí)時(shí)語法高亮的編輯器,不過上網(wǎng)找了一下用得比較多的CodePress和EditArea都存在一些BUG,特別是在IE7下,所以還是暫時(shí)不添加了。日后再修改。
  增加這個(gè)插件修改的容易比較多,如果你遇到什么問題可以留言,我會(huì)盡力為你解答。
  下一步再為FCKeditor增加一個(gè)在線上傳圖片的插件,這樣在別處轉(zhuǎn)載文章時(shí)就方便多了,點(diǎn)一下就可以自動(dòng)上傳所有圖片,哈哈哈。。。
您可能感興趣的文章:
  • JavaScript版代碼高亮
  • ASP語法高亮類代碼
  • 用js查找法實(shí)現(xiàn)當(dāng)前欄目的高亮顯示的代碼
  • js兼容IE6,IE7菜單高亮顯示效果代碼
  • javascript網(wǎng)頁關(guān)鍵字高亮代碼
  • Javascript實(shí)現(xiàn)的CSS代碼高亮顯示
  • tinyMCE插件開發(fā)之插入html,php,sql,js代碼 并代碼高亮顯示
  • 兩種簡單實(shí)現(xiàn)菜單高亮顯示的JS類代碼
  • javascript 關(guān)鍵字高亮顯示實(shí)現(xiàn)代碼
  • 高亮顯示web頁表格行的javascript代碼
  • 高效的表格行背景隔行變色及選定高亮的JS代碼
  • jQuery語法高亮插件支持各種程序源代碼語法著色加亮
  • 分享15個(gè)美化代碼的代碼語法高亮工具
  • 用JS將搜索的關(guān)鍵字高亮顯示實(shí)現(xiàn)代碼
  • 如何實(shí)現(xiàn)正則表達(dá)式的JavaScript的代碼高亮
  • 2014最熱門的JavaScript代碼高亮插件推薦
  • 2016年最熱門的15 款代碼語法高亮工具,美化你的代碼

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《fckeditor 代碼語法高亮》,本文關(guān)鍵詞  fckeditor,代碼,語法,高亮,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《fckeditor 代碼語法高亮》相關(guān)的同類信息!
  • 本頁收集關(guān)于fckeditor 代碼語法高亮的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人少妇影院yyyy| 韩国女主播一区| 偷拍一区二区三区| 在线观看欧美黄色| 国产99久久久久久免费看农村| 亚洲高清免费观看高清完整版在线观看| 欧美国产一区在线| 国产精品视频九色porn| 欧美激情综合五月色丁香| 欧美高清一级片在线观看| 日本一区二区三区四区在线视频| 国产三级精品视频| 亚洲日本va午夜在线影院| 亚洲美女淫视频| 亚洲v日本v欧美v久久精品| 香蕉成人伊视频在线观看| 日韩av中文在线观看| 久久疯狂做爰流白浆xx| 国产白丝精品91爽爽久久| aaa欧美色吧激情视频| 韩国一区二区视频| 奇米四色…亚洲| 精品一区二区免费| 丁香六月综合激情| 91福利视频在线| 91久久奴性调教| 欧美日韩精品一区二区天天拍小说| 欧美日韩三级一区| 久久噜噜亚洲综合| 亚洲天堂福利av| 强制捆绑调教一区二区| 成人一区二区三区视频在线观看| 99re66热这里只有精品3直播| 欧美午夜精品久久久久久超碰 | 精品国产一区二区国模嫣然| 日本一区二区免费在线观看视频 | 91精品国产综合久久精品图片 | 国产精品卡一卡二| 亚洲无人区一区| 国产精品综合久久| 91视频.com| 日韩无一区二区| 亚洲欧洲韩国日本视频| 日韩电影免费在线看| 成人av免费观看| 日韩欧美在线影院| 亚洲高清免费观看高清完整版在线观看| 精品在线观看免费| 欧美日产国产精品| 国产精品久久影院| 激情综合网av| 欧美高清dvd| 久久成人免费电影| 国产精品美女久久福利网站| 亚洲成人动漫在线观看| 国产精品18久久久| 欧美精品乱码久久久久久| 日韩理论片一区二区| 国产大陆精品国产| 欧美大白屁股肥臀xxxxxx| 亚洲最新在线观看| 成人久久视频在线观看| 久久先锋影音av| 久久69国产一区二区蜜臀| 色999日韩国产欧美一区二区| 国产午夜精品久久久久久久| 日本午夜一区二区| 欧美自拍丝袜亚洲| 亚洲精品亚洲人成人网| 成人午夜电影久久影院| 久久午夜色播影院免费高清| 精品一区二区综合| 精品福利在线导航| 国产精品1区2区3区在线观看| 欧美日韩第一区日日骚| 亚洲综合色自拍一区| 色婷婷久久99综合精品jk白丝| 国产欧美精品区一区二区三区| 极品少妇一区二区三区精品视频 | 国产网红主播福利一区二区| 精品一区二区三区在线播放| 欧美一二三在线| 午夜av一区二区| 欧美肥妇毛茸茸| 免费久久精品视频| 精品久久久久久久久久久久包黑料| 亚洲va国产天堂va久久en| 欧美日产在线观看| 久久91精品国产91久久小草| 欧美精品一区二| 国产福利精品导航| 国产视频一区二区在线观看| 亚洲精品第一国产综合野| 色菇凉天天综合网| 午夜成人免费电影| 久久亚洲综合av| 成人毛片在线观看| 亚洲一区在线免费观看| 欧美一级二级三级蜜桃| 国产精品一区二区你懂的| 综合亚洲深深色噜噜狠狠网站| 91玉足脚交白嫩脚丫在线播放| 亚洲一区二区精品视频| 欧美成人精品福利| 99精品视频在线观看免费| 亚洲国产精品久久久久婷婷884| 欧美一区二区三区四区五区 | 91亚洲精品乱码久久久久久蜜桃| 欧美精品国产精品| 精品国产一区二区精华 | 日韩欧美www| 国产成人精品1024| 一区二区三区在线视频播放| 欧美日韩国产另类不卡| 国产美女视频一区| 亚洲影院免费观看| 国产亚洲欧美日韩俺去了| 在线视频你懂得一区二区三区| 免费在线观看不卡| 亚洲同性同志一二三专区| 91精品国产福利| 99国产一区二区三精品乱码| 蜜桃免费网站一区二区三区| 亚洲欧美日韩精品久久久久| 精品久久久久久久久久久院品网| 91丨九色丨蝌蚪富婆spa| 裸体一区二区三区| 亚洲精品videosex极品| 国产午夜亚洲精品理论片色戒 | 综合自拍亚洲综合图不卡区| 欧美精品高清视频| 成人免费观看视频| 麻豆久久久久久久| 亚洲国产三级在线| 亚洲欧洲日韩av| 久久久精品免费观看| 日韩视频永久免费| 欧美猛男超大videosgay| 99久久99久久精品免费看蜜桃| 国产在线看一区| 免费在线观看日韩欧美| 亚洲成av人片一区二区梦乃| 亚洲天天做日日做天天谢日日欢| 久久女同性恋中文字幕| 日韩欧美的一区| 欧美一区二区久久久| 欧美日韩国产一级片| 欧美性受xxxx黑人xyx性爽| 99久久免费国产| 9i看片成人免费高清| 国产夫妻精品视频| 亚洲欧美自拍偷拍| 成人h精品动漫一区二区三区| 日本欧美一区二区| 亚洲成人av中文| 亚洲电影第三页| 香蕉加勒比综合久久| 天天色图综合网| 日韩二区三区四区| 久久精品国产999大香线蕉| 六月丁香婷婷久久| 精东粉嫩av免费一区二区三区| 美女脱光内衣内裤视频久久网站 | 欧美精品一区二区精品网| 91精品国产欧美一区二区成人| 88在线观看91蜜桃国自产| 91精品免费在线| 欧美一区二区三区人| 精品国产百合女同互慰| wwwwxxxxx欧美| 18涩涩午夜精品.www| 中文字幕一区三区| 亚洲电影激情视频网站| 精品一区二区三区在线播放| 日本欧美在线观看| 在线观看一区二区精品视频| 在线一区二区三区四区五区| 欧美午夜在线观看| 精品日韩av一区二区| 国产日本亚洲高清| 一区二区欧美在线观看| 丝袜美腿一区二区三区| 国产精品综合av一区二区国产馆| 97久久久精品综合88久久| 91精品视频网| 成人免费视频在线观看| 日韩高清一级片| 成人免费的视频| 欧美一级搡bbbb搡bbbb| 久久久久久久久99精品| 亚洲精品成人悠悠色影视| 另类欧美日韩国产在线| 91小视频在线| 精品裸体舞一区二区三区| 亚洲女爱视频在线| 国产麻豆成人传媒免费观看| 色综合咪咪久久| 久久色.com| 七七婷婷婷婷精品国产| 99re6这里只有精品视频在线观看|