// 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:Unexpected token ILLEGALを取得しています。 Googleでのみ発生しますChromeおよびSafari。Firefoxで動作し、同じコードがこのJSBinで動作します( http://jsbin.com/uceqi/18 )
何が起こっている?
Stackoverflowにはこの問題に関する多くの参照がありますが、どれもこの状況には当てはまらないようです。
JSLintがその行の文字2「22行目の文字2の問題:予期しない「
その領域の周りのすべての不可視文字(空白)を削除してから、もう一度試してください。
コードをコピー/貼り付けするときに、Safariでそのエラーを見ました。いくつかの無効な(残念ながら見えない)文字を拾うことができます。
JsFiddleからコピーするときによく私に起こりました。
この特定のコード例には適用されませんが、Googleフードとして、同じエラーメッセージが表示されます。
<script>document.write('<script src="…"></script>');</script>
このエラーが発生しますが、
<script>document.write('<script src="…"><'+'/script>');</script>
しない。
ここでさらに説明します: document.write()で書き込むときに<script>タグを分割する理由
コンテナに特殊文字を含めたスクリプトファイルと、ローカルムード(ローカルディスクから直接)で実行しているときに、同じエラーが発生しました。私の場合、解決策は明示的にエンコーディングを伝えることでした:
<script src="my.js" charset="UTF-8"></script>
Vagrantを実行しているユーザーへの注意:これは、共有フォルダーのバグが原因である可能性があります。これを回避するには、Vagrantfileの共有フォルダーにNFSを指定します。
type: "nfs"
を最後に追加するだけで、次のようにトリックが実行されます。
config.vm.synced_folder ".", "/vagrant", type: "nfs"
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」を削除すると、エラーが消えました。
また、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は、ランダムな「。」があったと言った。文字...
あなたを「hmmmmmm」にさせるもの
ダブルバックスラッシュも機能します!次に、何らかの関数などの代わりに/を実際に使用する必要があることを宣言します。
<script>document.write('<script src="…"><//script>');</script>
それは与えられた問題を正確に指しているわけではありませんが、ここで私の間違いを共有したいと思います。
1番目の文字として番号を付けて関数に名前を付けたため、_Unexpected token ILLEGAL
_エラーが発生しました。
3x3check()
でした。それをcheck3x3()
に変更することで問題が解決しました。
このエラーは、次のようなjavascript行によっても発生する可能性があります。
navi_elements.style.bottom = 20px;
値は文字列ではないことに注意してください。
オンラインのMinifyを使用すると、これらの見えない文字を効率的に削除できますが、コードも変更されます。ので注意してください。