2010-08-31 9 views
11

내 사이트에 CKEditor를 포함 시켰습니다. 이 JS 오류가 발생하더라도 모든 것이 작동합니다.잡히지 않은 예외 : [CKEDITOR.editor] 인스턴스가 이미 존재합니다.

[CKEDITOR.editor] 인스턴스 "simple_editor"가 이미 있습니다.

아래 코드는 내가 편집자를 원하는 곳에서 PHP 파일에 포함되어 있습니다. 페이지 당 편집기의 인스턴스가 하나뿐입니다.

<textarea class='ckeditor' id='simple_editor' name='simple_editor'>".$page_content."</textarea>"; 

<script type="text/javascript"> 
CKEDITOR.replace('simple_editor', 
{ 
    height: '110px', 
    toolbar : 
    [ 
    ['Link','Unlink'], 
    ['Styles','Format','Font','FontSize'], 
    ['Bold','Italic','Underline','Strike'], 
    ['TextColor','BGColor'], 
    ['NumberedList','BulletedList','Outdent','Indent'] 
    ] 
}); 
</script> 

일부 검색 결과 사람들이 dosnt 작업을 게시하는 몇 가지 해결책을 게시했습니다.

if (CKEDITOR.instances['simple_editor']) { delete CKEDITOR.instances['simple_editor'] }; 
if (CKEDITOR.instances['simple_editor']) { CKEDITOR.instances['simple_editor'].destroy(); } 

누구든지 무엇을 해야할지 알고 계십니까? : S

답변

17

class = 'ckeditor'를 (를) 제거하면 자동 교체 시스템이 실행됩니다.

+0

죄송합니다. 이 문제가 해결되었습니다. 감사! :) – horgen

+0

마지막으로, 일하고 이해할 수있는 대답입니다. – zessx

+0

당신은 저에게 많은 시간을 저축했습니다 .... – VKGS

3
<textarea id="textarea1" name="textarea1" runat="server" ></textarea> 
<script> 

$(document).ready(function() { 

      loadEditor('<%= textarea1.ClientID %>'); 
     }); 

     function loadEditor(id) { 
      var instance = CKEDITOR.instances[id]; 
      if (instance) { 
       CKEDITOR.remove(instance); 
      } 
      CKEDITOR.replace(id, { toolbar: 'Basic' }); 
     } 

</script> 
+0

textarea에 class = "ckeditor"를 쓰지 마십시오. – Manish

관련 문제