2012-09-29 5 views
1

이 코드를 탐색 모음에 사용하려고하지만잡히지 않은 SyntaxError : 예기치 않은 토큰 ILLEGAL

a. 그 작동하지 않는다 b. 나는이 경고를 구글 크롬에서 받는다. (잡히지 않은 SyntaxError : 예기치 않은 토큰 ILLEGAL)

그것은 모두 Jsfiddle에서 완벽하게 작동한다. 그리고 웹 사이트는 내가 만든 페이지 중간에 다른 자바 스크립트가 없기 때문에 매우 기본이다. 문제를 보지 마라.

본문, 본문에서 코드를로드하려고했지만 외부 js 파일로도 참조했지만 둘 중 하나에는 행운이 없습니다. 이 로컬 호스트에서 작동 실 거예요 왜 사람이 코드를 도와하거나 설명 할 수있는 경우 http://jsfiddle.net/zegermens/9hYey/

하는이 놀라운 것 : 여기

은 jsfiddle에 대한 링크입니다.

+0

jsfiddle이 작동하므로 웹 사이트 코드를 게시하십시오. 어딘가에 구문 오류가 있습니다. – nneonneo

+0

Chrome에서 예기치 않은 토큰이 표시되는 행은 무엇입니까? 그리고 다른 곳에서가 아니라 질문과 함께 코드를 게시하십시오 (추가 데모는 결코 나쁘지 않습니다). – Bergi

+0

jsFiddle에서 복사하는 것은 보이지 않는 "불법"문자를 삽입하는 경향이 있습니다 (특히 코드 끝 부분). – pimvdb

답변

2

나는이 문제/오류를 과거에 가지고 있었는데 그 중 하나는 ; 세미콜론이없고 끝나기 때문이었습니다.

특히 하나의 파일에서 여러 jQuery 라이브러리 또는 javascript 객체를로드 할 때 발생합니다. 예를 들어

:

(function ($) { 
    // Class 1 
})(window.jQuery); // <- this is missing 

(function ($) { 
    // Class 2 
})(window.jQuery) 

그 세미콜론없이이 클래스는 서로 전화를 시도합니다. like ...})(window.jQuery)(function...

누락 될 수있는 필요한 세미콜론을 파일에서 확인하십시오.

+1

'()'이 기술적으로 함수 호출이기 때문에 클래스들은 함께 병합되지 않고 서로 호출하려고합니다. 일부/대부분의 라이브러리는 똑똑하고 코드 상단에'; '를 넣어 앞에있는 모든 열린 코드를 종료합니다. 나는 또한 그들의 코드 뒤에 하나를 넣는 것도 좋다. – Ian

+0

죄송합니다. 나는 병합을 의미합니다. 나는 고칠 것이다. 감사합니다. – brenjt

+0

며칠 전'(foo && bar) (boo && quux)'와 같은 비슷한 문제를 겪었습니다.'(foo && bar) || (baz && quux)'. 왜 구문 오류가 아니 었는지 알 수 없었습니다. 유효한 함수 호출 구문이기 때문입니다. 이것은 동적 유형 언어를 사용하는 데있어서 오용입니다. – Barmar

관련 문제