fckeditor編輯器下的自定義分頁符實現(xiàn)方法
這里腳本之家小編參考了幾篇文章特為大家整理下,用到的朋友多支持一下了。
進(jìn)行長文章分頁,編輯人員在控制分頁符的時候手工插入很麻煩,所以修改了FCK的插入分頁符的插入字符:
修改方法:
打開/editor/js/
找到fckeditorcode_gecko.js和fckeditorcode_ie.js
因為fck有二個js文件。fckeditorcode_gecko.js是針對非ie的。一個是針對ie的。所以我們需要更改二個js的文件。
這樣方便我們以后插入分頁時,就不需要那么一大串的了。
找到:
var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();var e=FCK.EditorDocument.createElement('Div')
以及其后字符,修改為你自己的分頁符即可
fck分頁符修改
FKC默認(rèn)添加的分頁符為:<div style="page-break-after: always"><span style="display: none"> </span></div>
對文章的分頁,我是運用String.split("分頁符")方法,將文章以分頁符為分割點,返回一個String類型的數(shù)組,但是雙引號不能夠相互嵌套,split()方法中的參數(shù)就沒辦法設(shè)置。
如何修改默認(rèn)的分頁符:
找到j(luò)s文件:在/fckeditor/editor/js/目錄下,需要修改的有兩個js文件:fckeditorcode_ie.js(針對IE瀏覽器的配置)、fckeditorcode_gecko.js(針對非IE瀏覽器的配置)。
在js文件中找到如下代碼,并做修改:
var FCKPageBreakCommand=function() {this.Name='PageBreak';}; FCKPageBreakCommand.prototype.Execute=function() {FCKUndo.SaveUndoStep(); var e=FCK.EditorDocument.createElement('DIV'); //這里是創(chuàng)建<div>標(biāo)簽,此處不用修改 e.style.pageBreakAfter='always'; //這里是為<div>添加樣式,把它刪掉; e.innerHTML='<span style="DISPLAY:none"> </span>'; //這里是在<div>中添加的內(nèi)容,修改一下; 我的是修改為e.innerHTML='[jb51page]'; 也就是僅有一個空格;
保存,重新添加文章,添加文章時看不出變化,保存看查看數(shù)據(jù),分頁符的位置變?yōu)? <div>[jb51page]</div>
為文章分頁就可以用split("<div>[jb51page]</div>")方法進(jìn)行拆分顯示了;
以下是參考了dedecms的方法:
大家在修改的時候一定要看清原來的fckeditor分頁的寫法,千萬不要直接覆蓋,容易出問題。
dedecms的方法:
var FCKPageBreakCommand=function(){this.Name='PageBreak';};
FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();
var e=FCK.EditorDocument.createElement('P');e.innerHTML='[jb51page]';
腳本之家用的方法:
var FCKPageBreakCommand=function(){this.Name='PageBreak';};
FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();
FCK.EditorDocument.selection.createRange().text='[jb51page]';
注意:由于我們使用的版本,有FCKUndo.SaveUndoStep();如果不帶出現(xiàn)了編輯器無法顯示的情況。大家根據(jù)需要修改。
后面發(fā)現(xiàn)了dedecms增加的小功能,里面的函數(shù)不錯可以參考下
var FCKLineBrCommand=function(){this.Name='LineBr';}; FCKLineBrCommand.prototype.Execute=function(){FCK.EditorDocument.selection.createRange().pasteHTML("<br/>");}; FCKLineBrCommand.prototype.GetState=function(){return 0;} var FCKQuoteCommand=function(){this.Name='Quote';}; FCKQuoteCommand.prototype.Execute=function(){ var quoteString = "<table style='border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted' cellspacing=0 cellpadding=6 width='95%' align=center border=0>\r\n"; quoteString += "<tr><td style='word-wrap: break-word' bgcolor='#fdfddf'>\r\n<font color='#FF0000'>以下為引用的內(nèi)容:</font><br>\r\n"; quoteString += "</td></tr></table>\r\n"; FCK.EditorDocument.selection.createRange().pasteHTML(quoteString); }; FCKQuoteCommand.prototype.GetState=function(){return 0;}
相關(guān)文章
百度UEditor修改右下角統(tǒng)計字?jǐn)?shù)包含html樣式
百度UEditor修改右下角統(tǒng)計字?jǐn)?shù)默認(rèn)只統(tǒng)計前臺所見的文字個數(shù),如何讓右下角統(tǒng)計字?jǐn)?shù)包含html樣式,需要的朋友可以參考下2014-07-07網(wǎng)頁編輯器FCKeditor 2.6.4精簡配置方法
今天看到網(wǎng)上有人問asp中FCKeditor的配置方法,特整理了一些文檔方便需要的朋友2012-03-03fckeditor在ie9中無法彈出對話框的解決方法(彈出層兼容問題)
升級到 IE 9后,fckeditor在IE 9里的彈出浮動層會出現(xiàn)bug,里面的內(nèi)容不會出現(xiàn)2012-04-04