来源:自学PHP网 时间:2014-12-14 21:28 作者: 阅读:次
[导读] 今天在开发后台的时候需要用到自定义的分页符,发现fckeditor编辑器下默认的符号不好,dedecms也修改为自定义的,防止冲突...
这里脚本之家小编参考了几篇文章特为大家整理下,用到的朋友多支持一下了。 进行长文章分页,编辑人员在控制分页符的时候手工插入很麻烦,所以修改了FCK的插入分页符的插入字符: fck分页符修改 FKC默认添加的分页符为:<div style="page-break-after: always"><span style="display: none"> </span></div> 对文章的分页,我是运用String.split("分页符")方法,将文章以分页符为分割点,返回一个String类型的数组,但是双引号不能够相互嵌套,split()方法中的参数就没办法设置。 找到js文件:在/fckeditor/editor/js/目录下,需要修改的有两个js文件:fckeditorcode_ie.js(针对IE浏览器的配置)、fckeditorcode_gecko.js(针对非IE浏览器的配置)。 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"> </span>'; //这里是在<div>中添加的内容,修改一下; 我的是修改为e.innerHTML='[jb51page]'; 也就是仅有一个空格; 保存,重新添加文章,添加文章时看不出变化,保存看查看数据,分页符的位置变为: <div>[jb51page]</div> 以下是参考了dedecms的方法: 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\n<font color='#FF0000'>以下为引用的内容:</font><br>\r\n"; quoteString += "</td></tr></table>\r\n"; FCK.EditorDocument.selection.createRange().pasteHTML(quoteString); }; FCKQuoteCommand.prototype.GetState=function(){return 0;} |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com