// 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;
});
});
我收到了一个Uncaught SyntaxError:上面提到的行上的意外标记ILLEGAL。它仅在Google Chrome和Safari中出现。它适用于Firefox,相同的代码适用于此JSBin(http://jsbin.com/uceqi/18)
发生了什么事?
Stackoverflow上有很多关于这个问题的引用,但它们似乎都不适用于这种情况。
如果它有助于JSLint也会在该行字符2上抛出错误并出现“第22行问题2:意外''。”
答案 0 :(得分:136)
删除该区域周围的所有不可见字符(空白),然后再试一次。
我在复制/粘贴代码时在Safari中看到了这个错误。你可以拿起一些无效的(不幸的是看不见的)字符。
从jsFiddle复制时,我常常遇到很多事。
答案 1 :(得分:14)
它不适用于此特定代码示例,但作为Google食品,因为我收到了相同的错误消息:
<script>document.write('<script src="…"></script>');</script>
会出现此错误,但
<script>document.write('<script src="…"><'+'/script>');</script>
不会。
此处有进一步说明:Why split the <script> tag when writing it with document.write()?
答案 2 :(得分:6)
当脚本文件包含容器一些特殊字符时以及当我在本地moode(直接从本地磁盘)运行时,我得到了同样的错误。我的情况解决方案是明确告诉编码:
<script src="my.js" charset="UTF-8"></script>
答案 3 :(得分:6)
注意任何运行Vagrant的人:这可能是由于其共享文件夹的错误造成的。为Vagrantfile中的共享文件夹指定NFS以避免发生这种情况。
只需将type: "nfs"
添加到最后就可以了,就像这样:
config.vm.synced_folder ".", "/vagrant", type: "nfs"
答案 4 :(得分:4)
Google员工的另一个可能原因:使用大小如此的其他单位:
$('#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'消除了错误。
答案 5 :(得分:2)
对于Google-fodder:在文本编辑器中检查.js文件是否保存为Unicode并考虑将其设置为ANSI;还要检查换行符是否设置为DOS并考虑将它们切换到Unix(当然,取决于你的服务器)。
答案 6 :(得分:2)
如有疑问......请使用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告诉我,我有一个随机的“。” Charachter ...
让你走“嗯嗯”的事情
答案 7 :(得分:1)
双反斜杠也有效!然后你声明应该有一个/而不是某个函数或什么。
<script>document.write('<script src="…"><//script>');</script>
答案 8 :(得分:1)
这不会完全引用给定的问题,但我想在这里分享我的错误,也许某些人会做出类似的问题,并且也会在这里找到他/她的问题:
我遇到Unexpected token ILLEGAL
错误,因为我将一个数字命名为1st char。
那是3x3check()
。
将其更改为check3x3()
解决了我的问题。
答案 9 :(得分:0)
这个错误也可能是由像这样的javascript行引起的:
navi_elements.style.bottom = 20px;
请注意,该值不是字符串。
答案 10 :(得分:0)
您可以使用在线Minify,它可以有效地删除这些不可见的字符,但也会更改您的代码。所以要小心。