這里腳本之家小編參考了幾篇文章特為大家整理下,用到的朋友多支持一下了。
進行長文章分頁,編輯人員在控制分頁符的時候手工插入很麻煩,所以修改了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默認添加的分頁符為:div style="page-break-after: always">span style="display: none">nbsp;/span>/div>
對文章的分頁,我是運用String.split("分頁符")方法,將文章以分頁符為分割點,返回一個String類型的數組,但是雙引號不能夠相互嵌套,split()方法中的參數就沒辦法設置。
如何修改默認的分頁符:
找到js文件:在/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'); //這里是創建div>標簽,此處不用修改
e.style.pageBreakAfter='always'; //這里是為div>添加樣式,把它刪掉;
e.innerHTML='span style="DISPLAY:none">nbsp;/span>';
//這里是在div>中添加的內容,修改一下; 我的是修改為e.innerHTML='[jb51page]'; 也就是僅有一個空格;
保存,重新添加文章,添加文章時看不出變化,保存看查看數據,分頁符的位置變為: div>[jb51page]/div>
為文章分頁就可以用split("div>[jb51page]/div>")方法進行拆分顯示了;
以下是參考了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();如果不帶出現了編輯器無法顯示的情況。大家根據需要修改。
后面發現了dedecms增加的小功能,里面的函數不錯可以參考下
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\nfont color='#FF0000'>以下為引用的內容:/font>br>\r\n";
quoteString += "/td>/tr>/table>\r\n";
FCK.EditorDocument.selection.createRange().pasteHTML(quoteString);
};
FCKQuoteCommand.prototype.GetState=function(){return 0;}
您可能感興趣的文章:- Smarty中調用FCKeditor的方法
- FCKeditor smarty 編輯器的應用PHP
- 實例(Smarty+FCKeditor新聞系統)
- fckeditor粘貼Word時彈出窗口取消的方法
- FCKeditor + SyntaxHighlighter 讓代碼高亮著色插件
- 探討fckeditor在Php中的配置詳解
- 將FCKeditor導入PHP+SMARTY的實現方法