2015-09-05 32 views
5

Używam najnowszej wersji TinyMCE, która jest świetna, ale jedyny problem jaki mam, to kiedy ludzie wysyłają próbki kodu. Nie ma znaczenia, czy publikują go w formacie PRE, czy po prostu normalnie.Stop TinyMCE Usuwanie wcięć przy wklejaniu w kodzie

TinyMCE usuwa wszystkie wcięcia (tabulatory) i sprawia, że ​​trudno je odczytać, czy ktoś tutaj zdołał to obejść? Przykłady kodu/próbki będą mile widziane.

Odpowiedz

2

Czy to jest twoje po. Wydaje się działać poprawnie na tym JSFiddle

HTML

<form> 
    <textarea id='editor_instance_1'></textarea> 
</form> 
<button id='post-code-btn'>Post Code</button> 
<div id='post-area'></div> 

JS

//create instance of an mce editor 
var ed = new tinymce.Editor('editor_instance_1', { 
    //add custom formats 
    style_formats: [ 
     {title: 'Code', block: 'pre', styles: {'color': '#000', 'font-size': '11px'}}, 
     {title: 'Text', block: 'p', styles: {'color': '#ff0000', 'font-size': '16px'}} 
    ], 
    //force the starting block to pre 
    forced_root_block : 'pre'  
}, tinymce.EditorManager); 

//render the editor on screen 
ed.render(); 

var postButton = document.getElementById('post-code-btn'); 
var postArea = document.getElementById('post-area'); 

postButton.onclick = function(){ 
    //get html structure from the editor instance 
    var code = ed.getBody().innerHTML; 
    //simulate posting of html 
    new Request.HTML({ 
     url: '/echo/html/', 
     data: { 
      html: code, 
      delay: 0 
     }, 
     type: 'post', 
     update: 'post-area',  
    }).send(); 
} 

I wklejona w kodzie z wielu źródeł, w tym zaćmienia, SO i JSFiddle.