当前位置: 代码网 > it编程>前端脚本>网页编辑器 > fckeditor编辑器下的自定义分页符实现方法

fckeditor编辑器下的自定义分页符实现方法

2024年05月15日 网页编辑器 我要评论
这里代码网小编参考了几篇文章特为大家整理下,用到的朋友多支持一下了。进行长文章分页,编辑人员在控制分页符的时候手工插入很麻烦,所以修改了fck的插入分页符的插入字符:修改方法:打开/editor/js

这里代码网小编参考了几篇文章特为大家整理下,用到的朋友多支持一下了。

进行长文章分页,编辑人员在控制分页符的时候手工插入很麻烦,所以修改了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的方法:

代码网用的方法:

注意:由于我们使用的版本,有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;}
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com