成功解決編輯器多個問題,自動增加代碼,編輯死機問題_風訊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教程-成功解決編輯器多個問題,自動增加代碼,編輯死機問題。