2014-02-28 2 views
0

일부 탭이있는 CKEditor 플러그인을 만들었으며 각 탭마다 다른 iframe이 있습니다. 이러한 iframe에는 사이트의 일부 제목에 제목이있는 테이블이 있습니다. 나는 테이블 행을 클릭하고 클릭 된 항목의 제목을 삽입 할 수 있기를 원합니다.CKEditor 플러그인에 사용자 지정 기능을 추가하려면 어떻게합니까?

문제는 그 종류의 커스텀 자바 스크립트를 플러그인에 추가하는 방법을 알 수 없다는 것입니다. 대화 상자 창을 추가하는 명령을 클릭 할 때 버튼을 추가하는 init 함수를 추가하는 plugin.js가 있습니다.

CKEDITOR.dialog.add('addLinkDialog', function(editor) { 
    return { 
    title: 'Links', 
    minWidth: 800, 
    minHeight: 600, 
    contents: [ 
     { 
     id : 'articlesTab', 
     label : Drupal.t('Articles'), 
     title : Drupal.t('Articles'), 
     elements : [ 
     /* { 
      id : 'articlenid', 
      type : 'text', 
      label : Drupal.t('Article Node ID') 
      }, */ 
      { 
      type : 'html', 
      html : '<iframe src="/links/articles?link=1" style="width:900px; height:600px;"></iframe>', 
      } 
     ] 
     }, 
     { 
     id : 'menuTab', 
     label : Drupal.t('Menu Items'), 
     title : Drupal.t('Menu Items'), 
     elements : [ 
      { 
      type : 'html', 
      html : '<div>MENU TEST</div>', 
      } 
     ] 
     }, 
     { 
     id : 'videosTab', 
     label : Drupal.t('Videos'), 
     title : Drupal.t('Videos'), 
     elements : [ 
      { 
      type : 'html', 
      html : '<div>VIDEOS TEST</div>', 
      } 
     ] 
     } 
    ], 
    onOk: function() { 
     var editor = this.getParentEditor(); 
     // var content = this.getValueOf('articlesTab', 'articlenid'); 
     // alert(content); 
    } 
    }; 
}); 

는 내가 대화 창에서 버튼을 클릭하면 내 된 OnOK 작동하는지 알아,하지만 난 그냥 정보를 잡아하는 방법을 잘 모르겠어요 : 그럼 내 myDialog.js에서 나는 대화 상자 창은 다음과 같은 정의 iframe, 그리고 그와 같은 함수가 있어야하는지 (내 plugin.js 또는 myDialog.js에서?).

답변

0

다른 js 파일을 만들어 iframe 페이지에 포함시킨 다음 jquery에서 .find와 함께 parent.document 선택기를 사용하여 iframe 외부의 DOM 요소를 조작해야합니다.

$(".videoUrlInput", parent.document).find('input.cke_dialog_ui_input_text').val(assetUrl); 
관련 문제