2011-07-25 3 views
3

ビデオ埋め込み用のプラグインを開発していますが、プラグインダイアログの[OK]ボタンをクリックしたときにこのコードを挿入します。CKEditorカスタムプラグイン用の偽の画像を作成する

var embedCode = 
    '<iframe title="YouTube video player" class="youtube-player" type="text/html"' + 
     width="' + width + '" height="' + height + '" src="http://www.youtube.com/embed/' + textField + '?rel=0"' + 
     frameborder="0" width="620" height="200" style="width:' + width + 'px; height:' + height + 'px">' + 
    '</iframe>'; 

this.getParentEditor().insertHtml(embedCode); 

エディタでiframeをダブルクリックすると、プラグインダイアログではなくiframeプロパティダイアログが開きます。

カスタムプラグインの偽の画像をどのように作成できますか。

+0

プラグインオーディオ埋め込みコードのために作成したそれはどのようにこの上に行くのですか?偽の画像を挿入できる場所はどこですか? – jwerre

+0

イメージを挿入するときのckエディタで。イメージは実際にはエディタに偽の要素の形で表示されます。そして、擬似要素は実際には画像です。イメージの場合、イメージが選択されますが、APIを使用して偽の要素を変更することができます。実際のソースは正確な画像になります。 Fake要素は、エディタデザインビューで要素を編集または選択して削除するためのものです。ソースビューでは、正確なコードが表示されます。 –

答えて

1

解決策を見つけました。 Ckeditorは、プラグインによって生成されたコードから偽の要素を作成します。それは、コードを受け取り、偽の要素に変換し、それが

afterInit : function(editor) 
    { 

エディタの機能とで呼び出される中で定義されることになるため、デフォルトの編集は、その偽の要素のコードで働いている場合は、エディタのロード偽の要素例えばedior

onOk : function() 
{ 
    var embedCode = updatePreview(this,true); 
    var newFakeImage = editor.createFakeElement(embedCode, 'cke_audio', 'audio', true ); 

コードのOKイベントに次のようですが、私は

afterInit : function(editor) 
    { 
     function createFakeElement(editor, realElement) 
     { 
      return editor.createFakeParserElement(realElement, 'cke_audio', 'audio', true); 
     } 

     var dataProcessor = editor.dataProcessor, 
       dataFilter = dataProcessor && dataProcessor.dataFilter; 
      if (dataFilter) 
      { 
       dataFilter.addRules(
        { 
         elements : 
         { 
          'div' : function(element) 
          { 
           //alert("here"); 
           var attributes = element.attributes; 

           if(attributes.class == 'audio'){ 
            //alert("here"); 
            return createFakeElement(editor, element); 
           } 
           return null; 

          } 
         } 
        }, 
        5); 
      } 
     } 
関連する問題