Eventuali duplicati:
Internet Explorer, Closure Compiler and Trailing Commasproblema per quanto riguarda le virgole finali nel JavaScript
Ho provato comprimere il mio codice JavaScript utilizzando il Closure Compiler e la compilazione del codice generato questi due errori:
JSC_TRAILING_COMMA: errore di analisi. IE8 (e sotto) analizzerà le virgole finali in modo errato per le virgole in letterali di array e oggetto. Se stai prendendo di mira le versioni più nuove di JS , imposta l'opzione language_in appropriata. alla linea 379 carattere 0 fontFamily:. jqTextareaDiv.css ("font-family") sostituire (/ [ " '] {1}/gi, ""),
JSC_TRAILING_COMMA:. Errore di interpretazione IE8 (e al di sotto .) analizzerà finali virgole in Array e oggetti letterali in modo non corretto Se si prendono di mira versioni più recenti di JS, impostare l'opzione language_in appropriato in linea 932 carattere 0 fontFamily:. jqDiv.css ("font-family"),
Questi due errros sembrano fare riferimento a questo codice:
var jqTextareaDiv = obj.target.parent().parent(),
style = { // the current, relevant style rules for the DIV nesting the textarea
fontFamily : jqTextareaDiv.css("font-family").replace(/["']{1}/gi,""),
fontSize : jqTextareaDiv.css("font-size"),
fontStyle : jqTextareaDiv.css("font-style"),
fontWeight : jqTextareaDiv.css("font-weight"),
textDecoration : jqTextareaDiv.css("text-decoration"),
textAlign : jqTextareaDiv.css("text-align"),
color : jqTextareaDiv.css("color"),
},
jqToolbox = $('#text-edit-toolbox'),
jqIndicators = {
fontFamily : $('#font-family-indicator'),
fontSize : $('#font-size-indicator'),
fontStyle : $('#font-format-indicators .font-style'),
fontWeight : $('#font-format-indicators .font-weight'),
textDecorationUnderline : $('#font-format-indicators .underline'),
textDecorationLineThrough : $('#font-format-indicators .line-through'),
textAlignLeft : $('#text-alignment-indicators .align-left'),
textAlignCenter : $('#text-alignment-indicators .align-center'),
textAlignRight : $('#text-alignment-indicators .align-right'),
textAlignJustify : $('#text-alignment-indicators .align-justify')
};
Esattamente qual è la virgola finale in questo caso e come posso rimuoverlo senza rompere il codice?
Bene, le virgole finali sono ... quelle finali.) Seguono l'ultimo elemento dell'array/oggetto dichiarato. 'color: jqTextareaDiv.css (" color "),' è quello che ho trovato nel tuo esempio, potrebbe essere ce ne sono altri. In effetti, la loro posizione era data dal messaggio di errore; per risolverli, basta rimuovere le virgole nella stringa errata. – raina77ow
Sembra che la tua espressione regolare, con le virgolette senza escape, potrebbe causare un problema –
E viene indicato anche il motivo per cui vengono rimosse: le virgole finali non vanno bene con IE8-. Se non hai bisogno di supportare queste bestie, imposta l'opzione 'language_in' di conseguenza. – raina77ow