Непредвиденная лексема незаконным в WebKit
// 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;
});
});
Я получаю непойманные синтаксис ошибка: непредвиденная лексема незаконным по указанным выше строки. Это происходит только в Google Chrome и Safari. Он работает в Firefox и тот же код работает на этом JSBin (http://jsbin.com/uceqi/18)
что происходит?
существует множество ссылок на эту проблему в Stackoverflow, но ни одна из них, похоже, не применима к этой ситуации.
Если это помогает JSLint также бросает и ошибка на этой строке символ 2 "Проблема в строке 22 символ 2: неожиданный"."
11 ответов:
удалить все невидимые символы (пробелы) вокруг этой области, а затем дать ему еще одну попытку.
Я видел эту ошибку в Safari при копировании / вставке кода. Вы можете подобрать некоторые недопустимые (и, к сожалению, невидимые) символы.
часто случалось со мной при копировании из jsFiddle.
это не относится к этому конкретному примеру кода, но как Google food, так как я получил то же сообщение об ошибке:
<script>document.write('<script src="…"></script>');</script>
даст эту ошибку, но
<script>document.write('<script src="…"><'+'/script>');</script>
не будет.
дальнейшее объяснение здесь: зачем разбивать тег
Я получил ту же ошибку, когда файл сценария я включал контейнер некоторых специальных символов и когда я работал в локальном moode (непосредственно с локального диска). В моем случае решение было явно указать кодировку:
<script src="my.js" charset="UTF-8"></script>
Примечание Для тех, кто работает Бродяга: это может быть вызвано ошибкой с их общими папками. Укажите NFS для общих папок в вашем Vagrantfile, чтобы избежать этого.
просто добавив
type: "nfs"
до конца сделаем трюк, вот так:config.vm.synced_folder ".", "/vagrant", type: "nfs"
еще одна возможная причина для гуглеров: использование дополнительных единиц в таком размере:
$('#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' });
установка '351px' там дала мне ошибку. Удаление 'px' изгнало ошибку.
также для Google-корма :проверьте в текстовом редакторе ли.файл js сохраняется как Unicode и рассматривает возможность установки его в ANSI; также проверьте, установлены ли строки в DOS и подумайте о переключении их на Unix (в зависимости от вашего сервера, конечно).
когда сомневаешься... использовать JSLint, чтобы получить его!
Я просто столкнулся с подобной проблемой при копировании с 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 сказал мне, что у меня был случайный "."Персонаж...
вещи, которые заставляют вас идти "хмммммм"
двойная обратная косая черта также работает ! Затем вы объявляете, что действительно должен быть / вместо какой-то функции или чего-то еще.
<script>document.write('<script src="…"><//script>');</script>
это не будет точно ссылаться на данную проблему, но я хочу поделиться своей ошибкой здесь, может быть, some1 сделает simmilar один и также приземлится со своей проблемой здесь:
у меня
Unexpected token ILLEGAL
ошибка, потому что я назвал функцию с номером как 1-й символ.Он был
3x3check()
. Изменение его наcheck3x3()
решить мою проблему.
эта ошибка также может быть вызвана такой строкой javascript:
navi_elements.style.bottom = 20px;
обратите внимание, что значение не является строкой.