首先我想说的是:我引用的fck是2.6版本的。配置ok
以下是我的news.jsp页面的相关内容:<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %> 必不可少下面是我的利用js获取和设置fck‘内容,因为我们一般的添加 修改需要获取fck内容和设置其内容<script type="text/javascript">
  //获取编辑器的内容  //用于发布公告(增加功能)
        function getFckContent(){
          var rbContent = FCKeditorAPI.GetInstance("content").GetXHTML(true);
          if(rbContent == null || rbContent == ""){
          alert("请输入公告内容!"); return false;
         }
         document.getElementById("s_content").value=rbContent;  
         return true;      
       } 
       // 设置编辑器中内容  //用于修改公告的显示的页面fck内容(修改功能)
       function setFckContent(ContentStr) { 
          var oEditor = FCKeditorAPI.GetInstance("content") ; 
          oEditor.SetHTML(ContentStr) ; 
        }     
  </script>
  <script type='text/javascript' src="<%=ctxPath%>/fckeditor/fckeditor.js"></script> 必不可少我是利用隐藏域进行操作的 怎样获取的看看上面的getFckContent():<li>
       <label>信息内容</label>       
       <FCK:editor instanceName="content"  width="100%" height="200" toolbarSet="Basic" >      //同时对fck窗口大小和模式进行设置。       
       </FCK:editor> 
         <input type=hidden name="s_content"  id="s_content"  >//隐藏域暂存fck的内容
 </li> 。
在ie6中  增加和修改公告的时候  一切ok  
但是在firefox中  我增加公告的时候,ok,当我点击修改相应的公告的时候  会firebug会提示以下 :FCKeditorAPI is 'undefined',( FCKeditorAPI是FCKeditor加载后注册的一个全局对象,利用它才可以完成对编辑器的各种操作。)  如果不认识完了。我想不会吧,增加的时候  他怎么不报这个错误,怎加的时候我也是用了他。  于是我认为可能对于一个页面含有多个 FCKeditorAPI  firefox  会不认识。这是我的理解。我在网上搜索一通,问题没有解决。比如在:
  var oEditor = FCKeditorAPI.GetInstance("content") ; 
          oEditor.SetHTML(ContentStr) ;
之前加一句:if(typeof(FCKeditorAPI)!='undefined')用来判断,结果是 我如果在这一句打了断点,我一步步执行下去,竟然发现 可以显示我set的内容值,但是但我去掉断点后,他又会报同样的错误提示,网上很多其他的方法我使用了一下,也是这样。
  望有遇到同样的问题的朋友指点一下。

解决方案 »

  1.   

    没有碰到过你的情况,但是:
    根据你描述的情况:
         FCKeditorAPI.GetInstance("content") 这句话很有可能是异步执行的。因为断点延长了这句话执行的时间,使其有充分的时间来GetInstance。去掉断点之后,GetInstance还没有完成,就继续执行下去了,所以出问题。建议:GetInstance之后,将这个instance存着,get和set方法都用这个instance,不要重新GetInstance了。
      

  2.   

    谢了  我最终发现是我的div层 设置有问题  就是我弹出的div  把fck的内容覆盖了