unexpected uncaught syntaxerror significa que javascript jquery google-chrome safari

uncaught - unexpected token in javascript



Inexpected token ILEGAL en webkit (11)

¡Doble barra invertida también funciona! Luego declaras que realmente debería haber una / en lugar de alguna función o algo.

<script>document.write(''<script src="…"><//script>'');</script>

// if the box is outside the window, move it to the end function checkEdge() { var windowsLeftEdge = $(''#window'').position().left; $(''.box'').each( function(i, box) { // right edge of the sliding box var boxRightEdge = $(box).position().left + $(box).width(); // position of last box + width + 10px var newPosition = getNewPosition(); if ( parseFloat(boxRightEdge) < parseFloat(windowsLeftEdge) ) { $(box).css(''left'', newPosition); $(box).remove().appendTo(''#window''); first = $(''.box:first'').attr(''class''); } }); }​ //Uncaught SyntaxError: Unexpected token ILLEGAL Occurs Here // arrange the boxes to be aligned in a row function arrangeBoxes() { $(''.box'').each( function(i, item) { var position = $(''#window'').position().left + i * ( $(item).width()); $(item).css(''left'', position+''px'') }); } // shifts all the boxes to the left, then checks if any left the window function shiftLeft() { $(''.box'').animate({''left'' : "-=100px"}, 5000, ''linear'', checkEdge()); } // returns the new location for the box that exited the window function getNewPosition() { return $(''.box:last'').position().left + $(''.box:last'').outerWidth(); } $(window).load(function() { arrangeBoxes(); shiftLeft(); setInterval(''shiftLeft()'', 5000); $(''#gallery-slideshow'').nivoSlider({ effect:''fade'', //Specify sets like: ''fold,fade,sliceDown'' slices:15, animSpeed:500, //Slide transition speed pauseTime:3000, startSlide:0, //Set starting Slide (0 index) directionNav:true, //Next & Prev directionNavHide:true, //Only show on hover controlNav:false, //1,2,3... keyboardNav:false, //Use left & right arrows pauseOnHover:false, //Stop animation while hovering manualAdvance:false, //Force manual transitions captionOpacity:0, //Universal caption opacity beforeChange: function(){}, afterChange: function(){}, slideshowEnd: function(){}, //Triggers after all slides have been shown lastSlide: function(){}, //Triggers when last slide is shown afterLoad: function(){} //Triggers when slider has loaded }); }); $(document).ready(function(){ $(''.class-table tr'').click(function(){ window.location=$(this).find("a").attr("href"); return false; }); $(''.special-workshop'').click(function(){ window.location=$(this).find("a").attr("href"); return false; }); });

Obtengo un símbolo de sintaxis no capturada: Token Inexpected ILEGAL en la línea mencionada anteriormente. Se produce solo en Google Chrome y Safari. Funciona en Firefox y el mismo código funciona en este JSBin ( http://jsbin.com/uceqi/18 )

Que esta pasando?

Existen numerosas referencias a este problema en Stackoverflow pero ninguna de ellas parece aplicarse a esta situación.

Si ayuda a JSLint, también arroja un error en ese carácter de línea 2 "Problema en la línea 22, carácter 2: inesperado".


Elimine todos los caracteres invisibles (espacios en blanco) alrededor de esa área, luego pruébelo nuevamente.

He visto ese error en Safari al copiar / pegar el código. Puede recoger algunos caracteres inválidos (y desafortunadamente invisibles).

Solía ​​pasarme mucho cuando copiaba de jsFiddle.


En caso de duda ... ¡use JSLint para sacarlo!

http://www.jslint.com

Me encontré con un problema similar al copiar esto de JFiddle;

$(''input[name=MeetAll]'').change(function (e) { $(''#MeetMost'').attr(''checked'', !$(''#MeetAll'').attr(''checked'')); }); $(''input[name=MeetMost]'').change(function (e) { $(''#MeetAll'').attr(''checked'', !$(''#MeetMost'').attr(''checked'')); });​

Jslint me dijo que tenía un azar ". Charachter ...

Cosas que te hacen ir "hmmmmmm"


Este error también puede ser causado por una línea de JavaScript como esta:

navi_elements.style.bottom = 20px;

Tenga en cuenta que el valor no es una cadena.


No se aplica a este ejemplo de código en particular, sino como comida de Google, ya que recibí el mismo mensaje de error:

<script>document.write(''<script src="…"></script>'');</script>

dará este error, pero

<script>document.write(''<script src="…"><''+''/script>'');</script>

no lo hará

Más explicación aquí: ¿Por qué dividir la etiqueta <script> cuando se escribe con document.write ()?


No se referirá exactamente al problema dado, pero quiero compartir mi error aquí, tal vez alguien hará una similar y también aterrizará con su problema aquí:

Tengo un error Unexpected token ILLEGAL porque llamé a una función con un número como primer carácter.

Fue 3x3check() . check3x3() a check3x3() resolvió mi problema.


Nota para cualquier persona que ejecute Vagrant: esto puede ser causado por un error en sus carpetas compartidas. Especifique NFS para sus carpetas compartidas en su Vagrantfile para evitar que esto suceda.

Simplemente agregando type: "nfs" hasta el final hará el truco, así:

config.vm.synced_folder ".", "/vagrant", type: "nfs"


Obtuve el mismo error cuando el archivo de script que estaba incluyendo contiene algunos caracteres especiales y cuando estaba ejecutando en modo local (directamente desde el disco local). En mi caso, la solución fue contar explícitamente la codificación:

<script src="my.js" charset="UTF-8"></script>


Otra posible causa para los Googlers: usar unidades adicionales en un tamaño como ese:

$(''#file_upload'').uploadify({ ''uploader'' : ''/uploadify/uploadify.swf'', ''script'' : ''/uploadify/uploadify.php'', ''cancelImg'' : ''/uploadify/cancel.png'', ''folder'' : ''/uploads'', ''queueID'' : ''custom-queue'', ''buttonImg'': ''img/select-images.png'', ''width'': ''351px'' });

Establecer ''351px'' allí me dio el error. La eliminación de ''px'' desterró el error.


Puede usar Minify en línea, elimina estos caracteres invisibles de manera eficiente pero también cambia su código. Así que ten cuidado.

http://jscompress.com/


También para el forraje de Google: verifique en su editor de texto si el archivo .js se guarda como Unicode y considere establecerlo en ANSI; también verifique si los avances de línea están configurados en DOS y considere cambiarlos a Unix (dependiendo de su servidor, por supuesto).