2015-10-20 14 views
5

Chiediamo all'utente di definire html, quindi aggiungere un div o una sezione o qualcosa del genere. Quindi, voglio i tooltip di validazione durante la modifica del mio HTML. Ma non voglio avere l'avviso di tipo doc.Come posso rimuovere il primo suggerimento doctype di ace-editor nel mio html-editor?

tooltip of ace editor

+0

Come indicato [in questo thread] (https://groups.google.com/forum/#!msg/ace-discuss/qOVHhjhgpsU/E_34XjuMmlsJ), non sembra essere possibile filtrare certa errori, anche se puoi disabilitarli tutti. – skerit

risposta

8

Prova questo

var session = editor.getSession(); 
session.on("changeAnnotation", function() { 
    var annotations = session.getAnnotations()||[], i = len = annotations.length; 
    while (i--) { 
    if(/doctype first\. Expected/.test(annotations[i].text)) { 
     annotations.splice(i, 1); 
    } 
    } 
    if(len>annotations.length) { 
    session.setAnnotations(annotations); 
    } 
}); 
+0

Quasi funziona perfettamente. Nel caso di un tag non valido nella prima riga, oltre a "Fine del file inaspettata nel nome del tag", viene anche visualizzato il messaggio "Fine inaspettata del file". Expected DOCTYPE. - Non è davvero un grosso problema, ma sarebbe bello se tu aggiornassi il tuo snippet per riflettere questo. :) – Adam

3

Con "Unexpected End of File. DOCTYPE atteso." avviso filtrato.

var session = editor.getSession(); 
session.on("changeAnnotation", function() { 
    var annotations = session.getAnnotations() || [], i = len = annotations.length; 
    while (i--) { 
     if (/doctype first\. Expected/.test(annotations[i].text)) { 
      annotations.splice(i, 1); 
     } 
     else if (/Unexpected End of file\. Expected/.test(annotations[i].text)) { 
      annotations.splice(i, 1); 
     } 
    } 
    if (len > annotations.length) { 
     session.setAnnotations(annotations); 
    } 
});