2013-05-19 2 views
0

편집 : 문제를 줄였습니다. 외부에서 호스팅되는 bootstrap.min.js 파일에 링크 할 때 작동하며 로컬을 사용할 때 작동하지 않습니다. 파일 (django의 dev 정적 폴더 설정)Django가 모바일에서 작동하지 않는 bootstrap.js 파일을 제공했습니다.

이것은 내 머리카락을 꺼내 ​​내게있다. 나는 많은 수의 스레드를 살펴 보았고 HTML을 매우 조심스럽게 검사했으며 차이점을 알 수는 없습니다. 다음은 내 개발자 페이지입니다 : http://iceberg.creatifcubed.com:8080, 여기 jsfiddle입니다 http://jsfiddle.net/5UAUP/4/

모바일 브라우저 (iPhone 및 iPad)에 문제가 있습니다. 클릭하면 로그인 드롭 다운이 닫힙니다. 많은 스레드가 e.stopPropagation()을 권장합니다. 이는 데스크톱 브라우저에는 나타나지만 모바일 브라우저에는 나타나지 않습니다. 몇 가지 알림을 추가하고 이벤트를 첨부하기 위해 다양한 변형을 시도했습니다. 모바일 사파리에서는 호출되지 않았습니다.

동일한 코드를 jsfiddle에 추가합니다. 거기에서 작동합니다 (동일한 HTML을 복사하여 붙여 넣기 - jsfiddle/5UAUP/5 참조). e.stopPropagation()도 필요하지 않습니다. w3 유효성 검사기를 통해 코드를 실행했는데 오류가 없습니다. 이걸 일으킬 수있는 어떤 생각?

현재 내 페이지는 로컬 정적 파일을 사용하도록 설정되어 있습니다. 모든 것이 올바르게 포함되어 있습니다. http://iceberg.creatifcubed.com:8080/static/lib/bootstrap-2.3.0/js/bootstrap.min.js에서 확인할 수 있습니다. 헤더를 확인한 결과, 이상한 것을 보지 못했습니다 - 그렇다면 왜 내가 로컬 파일에 링크 할 때 javascript 버그가 발생합니까? 이 파일의 다른 부분 (예 : 회전식 플러그인)이 작동하고있는 것처럼 보입니다.

답변

0

이 문제는 실제로 작동합니다. 문제는 실제로 2.3.2의 버그였습니다. Github 문제 : https://github.com/twitter/bootstrap/issues/7927

그냥 2.3.0, 2.3.1 및 2.3.2 Django 대 CDN에서 제공하고 실수로 캐싱을 테스트 한 결과 나에게 장고와는 아무 관계가 없다는 것을 보여주지 못했습니다. 이 질문>. <

0

솔루션은 실제로 생각보다 훨씬 쉽습니다. 사람들이이 작은 버크에서 시간을 낭비해야한다는 것은 불행한 일입니다. 그러나 나는 당신이 그것을 알기 때문에, 결코 잊지 못할 것이라고 약속합니다!

모바일 브라우저가 제대로 반응하도록 '탭'처리기를 추가하면됩니다. 그런데 jquery가 자동으로 이벤트 핸들러를 공백으로 나눠서 "클릭"과 "탭"이 두 개의 별개 핸들러이므로

+0

흠, 여기에 아무런 시도가 없었습니다 :/http://jsfiddle.net/5UAUP/13/ 실제로 2.3.1과 2.3.2 사이의 버그로 발견되었습니다 ... 아아, 2.3 .0과 2.3.2 나는 2.3.0에서는 작동하지 않는다고 확신한다. (확실히 2.3.2에서는 그렇지 않다) – Raekye

관련 문제