2012-09-27 2 views
1

그래서 나는 더 나은 웹 프로그래머가되는 법을 배울 수 있도록 html/css/javascript 실험을 통해 약간의 사이트로 작업하고 있습니다. 나는 정말로 디자이너이고, 이것으로 총 n00b입니다.jQuery/javascript가 모든 페이지에서 작동하지 않습니다.

문제 :

좀 자바 스크립트가 내 사이트에서 여러 페이지에서 실행, 그리고 그들은이다 - 평소에 따라 - 별도의 .js 파일에. 그것은 단지 것 같습니다 그러나이 페이지에 작동합니다 : 다음에

http://www.carlpapworth.com/htmlove/colors.html

그리고하지 :

http://www.carlpapworth.com/htmlove/arrows.html

U 볼

http://www.carlpapworth.com/htmlove/fumbling.html

, 마음과 큰 시작이 suposed한다 이 함수로 숨길 수 있습니다 :

$(document).ready(function() { 
    $('#reward').hide(); 
    $('#goal a').click(function(){ 
     $('#reward').fadeIn(1000); 
    }); 
    $('.exit').click(function(){ 
     $('#collection1').css('color', '#ff63ff'); 
    }); 
}); 

나에게이 모든 페이지의 "헤드"코드는 똑같아 보이므로 문제를 파악할 수 없습니다. 도와주세요!

해결! 그것은 UTF-16으로 설정된 인코딩입니다! Jezen Thomas가 코다에서 말했듯이 방금 변경했습니다. 대단히 감사합니다!

+2

콘솔의 모든 중국어 문자는 무엇입니까? –

+0

문제는 문자 인코딩/BOM과 관련이 있다고 생각합니다. –

+0

그래, 나는 또한 그 (중국어) 가장 이상한 것으로 나타났습니다! –

답변

1

이것은 흥미로운 질문이었습니다. 내 컴퓨터에서 사이트를 복사하고 로컬에서 테스트 해 보았습니다. 모든 것이 잘 작동했습니다. 그러나 나는 그 문제의 근원을 발견했다고 믿는다.

http://validator.w3.org/i18n-checker/check?uri=www.carlpapworth.com%2Fhtmlove%2Ffumbling.html#validate-by-uri+

당신은 당신의 메타 태그, <meta charset='UTF-8' />와 UTF-8을 강제로 노력하고 있습니다. 그러나 w3 i18n 검사기가 파일에 UTF-16LE Byte-Order Mark (BOM)도 포함되어 있음을 감지했습니다.

W3는이 removing the BOM에 대해 말하기를 가지고

당신은 당신이 수동으로 삭제 할 수있다 UTF-8 서명을 구성하는 문자를 보여줍니다 편집기가있는 경우. 기회는 입니다. 그러나 BOM은 처음에 거기에 있습니다. 을 보지 않았기 때문입니다.

저장 중에 UTF-8 서명을 추가할지 또는 유지할지 여부를 편집기에서 지정할 수 있는지 확인하십시오. 그런 편집자는 파일을 다시 읽음으로써 그 파일을 다시 읽음으로써 서명을 지우는 방법을 제공합니다 ( ). 예를 들어 Dreamweaver에서 BOM을 감지하면 다른 이름으로 저장 대화 상자의 텍스트 옆에 확인 표시가 있습니다. "유니 코드 서명 포함 (BOM)". 상자를 선택 취소하고 저장하십시오.

귀하의 경우 문제를 해결할 지 모르겠지만 doctype 선언 전에 HTML 주석을 사용했다는 사실은 마음에 들지 않습니다. <!DOCTYPE html>을 파일의 맨 위로 이동하십시오. 또한 Coda에서 Text > Encoding으로 이동하여 UTF-8이 선택되어 있는지 확인하십시오. 가능한 경우 보이지 않는 문자를 표시하고 의심스러운 것으로 보이는 것을 제거하십시오.

+0

좋아, 내 리그에서 약간 벗어났다. :) 그러나 나는 Coda를 사용하는데,이 "BOM"은 무엇인가? –

+0

답변이 업데이트되었습니다. –

+0

여전히 한 페이지에서 작동하고 다른 페이지에서는 작동하지 않는다는 점을 고려해 보겠습니다. 코멘트 측면은 합리적인 것 같습니다 :) 해결! UTF-16으로 설정된 인코딩이었습니다! Jezen Thomas가 코다에서 말했듯이 방금 변경했습니다. 대단히 감사합니다! –

1

Jezen Thomas가 제안했듯이 인코딩 문제 일 수 있습니다. 파일을 UTF-8로 다시 저장하십시오.

체크 아웃 this topic on SO for more details을 확인하십시오.

+0

말하지 않는다 \t 이미? –

+0

@CarlPapworth 저기에 그 이상이 있습니다. 내 대답을 확인해. –

+0

.js 파일 자체를 올바르게 인코딩해야합니다. .html 페이지는 예상대로 작동하지만 .js 파일이 문제가됩니다. – DACrosby

관련 문제