成功解决编辑器多个问题,自动增加代码,编辑死机问题_风讯Cms教程
不好意思,搞了大家这么多得118个回复,900多次点击,谢谢大家,今天我有空,就首先将自动增加代码的我修改放出,那个大对象溢出得问题,是因为原是得textarea得缓存区太小,假如数据量很大将导致获取不了得问题,是需要很多修改的,这个请大家以后看官方修改吧!!!
首先再editor.js下增加一个下列的脚本函数!!!
//alexcheng www.ieche.com
//自动增加内容根据我自己的分析主要发生再当你引用了分段功能的时间发生的,因此每次保存或者获取的时间,你需要去强制检查一下编辑区的内容的
function cleanPara(editor)
{
sHTML=editor.document.body.innerHTML;
if ((sHTML.toLowerCase()=="<p> </p>")||(sHTML.toLowerCase()=="<p></p>")||(sHTML.toLowerCase()=="<div> </div>")||(sHTML.toLowerCase()=="<div></div>")||(sHTML.toLowerCase()=="<h1> </h1>")||(sHTML.toLowerCase()=="<h1></h1>")||(sHTML.toLowerCase()=="<h2> </h2>")||(sHTML.toLowerCase()=="<h2></h2>")||(sHTML.toLowerCase()=="<h3> </h3>")||(sHTML.toLowerCase()=="<h3></h3>")||(sHTML.toLowerCase()=="<h4> </h4>")||(sHTML.toLowerCase()=="<h4></h4>")||(sHTML.toLowerCase()=="<h5> </h5>")||(sHTML.toLowerCase()=="<h5></h5>")||(sHTML.toLowerCase()=="<h6> </h6>")||(sHTML.toLowerCase()=="<h6></h6>"))
{
sHTML='';
editor.document.body.innerHTML='';
}
}
然后查找编辑器editor.js中的这句话:
var oEditor=eval("idContent" oEdit.oName);
再这句话的下面增加下列语句
cleanPara(oEditor);
就一切的OK
最后需要你将你的编辑器的模式更改为HTML模式,不要使用SHTML模式来编辑,主要的原因你自己看代码就知道了,因为使用SHTML的情况下,编辑器为了满足SHTML规范增加了很多的辅助代码,这样的话,对于我们判定段落内容复杂化了,所以请再程序中,似乎是new_add.asp还有几个样式编辑器中的使用的编辑器的程序中,更改为HTMLSource为True,XHTMLSource为False就可以了
似乎是下列类似的代码的下面:
_Edit1.width="100%";_Edit1.height="360";
_Edit1.btnFlash=true;
_Edit1.btnMedia=true;
_Edit1.btnCustomTag=true;
不好意思,我绝对原始程序中的那个HTMLsource的设置,和XHTML的设置是多余的代码,我就删除了!!!哈哈
并且将editor.js中的下列中的内容按照我的更改好!!!
this.btnHTMLFullSource=false;
this.btnHTMLSource=true;
this.btnXHTMLFullSource=false;
this.btnXHTMLSource=false;
- 相关链接:
- 教程说明:
风讯Cms教程-成功解决编辑器多个问题,自动增加代码,编辑死机问题。