official library instalar google enlace javascript jquery google-chrome

javascript - library - Error de sintaxis de Chrome Uncaught: Token inesperado ILEGAL



jquery slim (4)

Posible duplicado:
SyntaxError: fichas inesperado ILEGAL

Recibiendo el error del sujeto cuando Chrome intenta cargar el archivo de script en la página. Dice que está en la última línea del archivo javascript. Parece que no puedo encontrar nada malo en eso. No hay errores en Firefox, y el script funciona como se esperaba. Solo usando validación de formulario

// JavaScript Document $(function() { $(''#wm-form'').submit(function() { var errors = false; var errorMsg = ""; $(''.required'').each(function() { if(!validField($(this))) { errorMsg += $(this).attr(''name'').capitalize() + " cannot be blank/n"; errors = true; } }); var emailAddress = $(''#email''); if(isValid(emailAddress) && !(/^(([a-zA-Z0-9_/-/.]+)@([a-zA-Z0-9_/-/.]+)/.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_/-/.]+)@([a-zA-Z0-9_/-/.]+)/.([a-zA-Z]{2,5}){1,25})+)*$/.test(emailAddress.val()))) { errorMsg += "Not a valid email address. Please enter in a correctly formatted email address"; errors = true; } if(errors) { alert(errorMsg); return false; } }); $(''.form-focus'').click(function() { $(document).scrollTop(0); $(''#first_name'').focus(); return false; }); }); function validField(element) { if(!isValid(element.val()) || (element.attr(''placeholder'') && element.attr(''placeholder'') == element.val()) || (element.attr(''type'') == ''radio'' && !checkedRadio(element))) { return false; } else { return true; } } function isValid(ele) { if(ele == null || ele == '''') { return false; } else { return true; } } String.prototype.capitalize = function() { return this.charAt(0).toUpperCase() + this.slice(1); }; function checkedRadio (element) { var valid = false; $(''input[name="''+ element.attr("name") +''"]:checked'').each(function() { valid = true; }); return valid; }​


Hay algún tipo de personaje falso al final de esa fuente. Intente eliminar la última línea y volver a agregarla.

No puedo entender exactamente qué hay allí, aún ...

editar - Creo que es un espacio de ancho cero, Unicode 200B. Parece bastante extraño y no puedo estar seguro, por supuesto, de que no sea un artefacto de , pero cuando copio / pegué esa última función, incluida la última línea completa en la consola de Chrome, recibo su error.

Una fuente notoria de tales personajes son sitios web como jsfiddle . No estoy diciendo que haya algo malo en ellos, es solo un efecto secundario de algo, tal vez el uso de widgets de entrada editable por contenido.

Si sospecha que tiene un caso de esta dolencia, y está en MacOS o Linux / Unix, la herramienta de línea de comando od puede mostrarle (aunque de una manera bastante fea) los valores numéricos en los caracteres del código fuente archivo. Algunos IDEs y editores también pueden mostrar caracteres "divertidos". Tenga en cuenta que tales caracteres no siempre son un problema. Está perfectamente bien (en la mayoría de los lenguajes de programación razonables, de todos modos) que haya caracteres Unicode incrustados en constantes de cadena, por ejemplo. Los problemas comienzan a suceder cuando el analizador de lenguaje encuentra los caracteres cuando no los espera.


Recibo el mismo error en Chrome después de pegar el código copiado de jsfiddle.

Si selecciona todo el código de un panel en jsfiddle y lo pega en el editor de texto libre Notepad ++, debería poder ver el carácter problemático como un signo de interrogación "?" al final de tu código Elimine este signo de interrogación, luego copie y pegue el código de Notepad ++ y el problema desaparecerá.


Tuve el mismo error cuando la cadena multilínea incluía nuevos caracteres de línea ( /n ). Fusionando todas las líneas en una (eliminando así todos los nuevos caracteres de línea) y enviándola a un navegador utilizado para resolver. Pero fue muy inconveniente para codificar.

A menudo no podía entender por qué esto era un problema en Chrome hasta que encontré una declaración que decía que la versión actual del motor de JavaScript en Chrome no es compatible con cadenas multilíneas que están envueltas en comillas simples y tienen nuevos caracteres de línea ( /n ) en ellos. Para que funcione, la cadena multilínea debe estar envuelta entre comillas dobles. Al cambiar mi código a esto, resolvió este problema.

Intentaré encontrar una referencia a un documento estándar o de Chrome que así lo demuestre. Hasta entonces, pruebe esta solución y vea si también funciona para usted.


Tuve el mismo error en Chrome. La consola de Chrome me dijo que el error estaba en la primera línea del archivo HTML.

En realidad estaba en el archivo .js. Así que ten cuidado con los setValidNou(1060, $(this).val(), 0'') de setValidNou(1060, $(this).val(), 0'') .