2016-08-01 15 views
0

Ich möchte Widget, das <button><a></a></button> innerhalb haben kann. Leider löscht CKE <a></a>. Wie man das überwindet?CKEditor nicht verschachtelt <a> Element in Widget

Dies ist der Code:

CKEDITOR.plugins.add('interButton', { 
    requires: 'widget', 
    icons: 'interButton', 
    init: function(editor) { 

     editor.widgets.add('interButton', { 
      button: 'Add Button', 

      template: 
       '<button><a></a></button>', 

      allowedContent: 
       'button[*]{*}(*); a[*]{*}(*)', 

      upcast: function(element) { 
       return element.name == 'button'; 
      } 
     }); 

    } 
}); 
+1

Möchten Sie wirklich gültiges HTML überwinden? Referenz: https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element – Wolfgang

+0

Könnten Sie bitte genauer sein? – zie1ony

+1

das Platzieren eines Anker-Tags in einer Schaltfläche ist in HTML nicht gültig – Wolfgang

Antwort

1

Sie bestimmte Elemente der protectedSource schieben kann und CKE gehorchen.

Beispiel:

config.protectedSource.push(/<button[^>]*><a[^>]*><\/a><\/button>/g); 

Ich habe nicht die oben getestet, aber es sollte funktionieren.

Verwandte Themen