Duplicar posibles:
Internet Explorer, Closure Compiler and Trailing Commasproblema relacionado con comas finales de JavaScript
He intentado comprimir mi código JavaScript utilizando la Closure Compiler y la compilación del código generado estos dos errores:
JSC_TRAILING_COMMA: error de análisis. IE8 (y más abajo) analizará las comillas finales en matriz y los literales de objeto incorrectamente. Si se dirige a versiones más nuevas de JS, establezca la opción language_in apropiada. en la línea 379 caracteres 0 fontFamily:. jqTextareaDiv.css ("font-family") reemplazará (/ [ ""] {1}/GI, ""),
JSC_TRAILING_COMMA:. Error de análisis IE8 (y por debajo .) analizará detrás comas en los literales de objeto y matriz de forma incorrecta Si el idioma de nuevas versiones de JS, establezca la opción apropiada en la línea language_in 932 caracteres 0 fontFamily:. jqDiv.css ("font-family"),
Estos dos errros parecen referirse a este código:
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')
};
Exactamente, ¿cuál es la coma final en este caso y cómo puedo eliminarlo sin romper el código?
Bueno, las comas finales son ... las últimas.) Siguen el último elemento de la matriz/objeto declarado. 'color: jqTextareaDiv.css (" color "),' es el que encontré en tu ejemplo, puede haber otros. De hecho, su ubicación fue dada por mensaje de error; para arreglarlos, simplemente elimine las comas en la cadena errónea. – raina77ow
También parece que su expresión regular, con sus comillas no guardadas, puede estar causando un problema –
Y también se da el motivo para que se eliminen: las comillas finales no van bien con IE8-. Si no necesita admitir estas bestias, simplemente configure la opción 'language_in' en consecuencia. – raina77ow