让FckEditor具有自动保存功能 或是读取 FckEditor 的值

读取 FckEditor 的值  参考
以下是前言片段:
最近想用Fckeditor来做编辑器,觉得下面的例子蛮有意思的,转载一下!

以下是引用片段:
最近好多朋友问到Fckeditor的自动保存功能,在此写一下自己是怎么实现的。其实思路很简单。
页面载入时注册TimeOut事件,以监控指定Fckeditor的内容 
当TimeOut事件确发时,如果Fckeditor的内容发生变化则自动保存,再重新注册TimeOut事件 
如果保存自己去实现吧,文本,XML,数据库都可以 
其实个人觉得最郁闷的就是如何取得Fckeditor的内容,特别在.NET下直接使用工具栏放入而不是使用Fckeditor API实现的情况下,这个我研究出来了,可以看我附的Js源码。 
注:Ajax框架使用prototype.js实现。 
 <!-- 
/* 
为FckEditor增加自动备份功能 
网页运行时注册FckeditorAutoSave 
为吕的部落格定制,基于会员 
需要在页面中设置一个id=" 
研究了好久才取得Fckeditor值,郁闷... 
Powered By Lvjiyong.com 
使用或转载请勿删除作者信息 
吕继勇 2006.5.31 
*/ 
var FckAutoSaveTime 
var FckeditorNum; 
var FckUpdateId; 
var FckTitle; 
var FckInfo; 
var GUID; 
var url = "http://www.lvjiyong.com/Admin/Blog/Article/PostNew.aspx"; //保存处理地址 
var Fcktemp = ''; 

function FckedtiorAutoSave(autoSaveTime,fckeditorNum,updateId,fckTitle,fckinfo,guid) 

    FckAutoSaveTime = autoSaveTime; 
    FckeditorNum = fckeditorNum; 
    FckUpdateId = updateId; 
    FckTitle = fckTitle; 
    FckInfo = fckinfo; 
    GUID = guid; 
         
    window.setTimeout("FCKTimer()",FckAutoSaveTime); 
     

function FCKTimer() 

    FckSave(); 
         
    window.setTimeout("FCKTimer()",FckAutoSaveTime); 

function FckSave() 

    var body = getFckeditorContent(FckeditorNum); 
     
     
    if(    Fcktemp != body && body.length > 36) 
    { 
        $(FckUpdateId).innerHTML = FckInfo; 
         
         
         
        var title = $F(FckTitle); 
         
        var postData = 'ajaxaction=FckeditorAutoSave&GUID=' + GUID + '&Title=' + title + '&Body=' + body; 
         
        var myAjax = new Ajax.Updater(FckUpdateId, url, {method: 'post', postBody: postData}); 
         
        Fcktemp = getFckeditorContent(FckeditorNum); 
    } 


function getFckeditorContent(fckeditorNum) 

    return window.frames[fckeditorNum].window.frames[0].document.body.innerHTML; 
    //return window.frames[最好用名称].window.frames[0].document.body.innerHTML; 

-->  

function checksubmit() {
 //声明 fck 变量
var fckbody = getFckeditorContent("txt_desc___Frame");    // FCK的ID
if(fckbody=="" && fckbody.length < 5)
{
alert("****");
document.getElementById("txt_pronounce").focus; return false;
}
 return true;
}
//获取 FCK 的内容
function getFckeditorContent(fckeditorNum)
{
return window.frames[fckeditorNum].window.frames[0].document.body.innerHTML;
//return window.frames[最好用名称].window.frames[0].document.body.innerHTML;
}

你可能感兴趣的:(fckeditor)