JS获取FCK的值

如何获取fck编辑器的值呢,这给我出了一道难题的,是的,我和大家一样从网上搜索出了这些代码,

但我一开始没有弄懂我的FCKeditorAPI怎么没有定义,怎么办呢我发现在fck编辑器其实不是一个常规的控件,他是一个由iframe框架传过来的html编辑器,记下iframe的id,这个要在查看源码中发现。

最终我尝试的成功的结论是FCKeditorAPI.GetInstance换成window.框架名.FCKeditorAPI.GetInstance一切就正常了。

function getEditorContents(){
   var oEditor = FCKeditorAPI.GetInstance("content");
   alert(oEditor.GetXHTML(true));
}
//向编辑器插入指定代码
function insertHTMLToEditor(codeStr){
   var oEditor = FCKeditorAPI.GetInstance("content");
   if (oEditor.EditMode==FCK_EDITMODE_WYSIWYG){
     oEditor.InsertHtml(codeStr);
   }else{
     return false;
   }
}
//统计编辑器中内容的字数
function getLength(){
   var oEditor = FCKeditorAPI.GetInstance("content");
   var oDOM = oEditor.EditorDocument;
   var iLength ;
   if(document.all){
     iLength = oDOM.body.innerText.length;
   }else{
     var r = oDOM.createRange();
     r.selectNodeContents(oDOM.body);
     iLength = r.toString().length;
   }
   alert(iLength);
}
//执行指定动作
function ExecuteCommand(commandName){
   var oEditor = FCKeditorAPI.GetInstance("content") ;
   oEditor.Commands.GetCommand(commandName).Execute() ;
}
//设置编辑器中内容
function SetContents(codeStr){
   var oEditor = FCKeditorAPI.GetInstance("content") ;
   oEditor.SetHTML(codeStr) ;
}

 function   FCKeditor_OnComplete ()  
    {  
        var oEditor = FCKeditorAPI.GetInstance('content') ;
        oEditor.EditorDocument.attachEvent( "onkeydown",   editor_keydown);  
        //oEditor.EditorDocument.attachEvent( "onkeyup",   editor_keyup);  
    }  
    function   editor_keydown()
    {
   
        alert(" OK");
    }



posted @ 2010-11-26 12:21  郭小俊  阅读(510)  评论(0编辑  收藏  举报