을 사용하여 bash를 통해 새로운 Foundation 5 프로젝트를 만들었습니다 foundation new my-project
. Chrome에서 index.html 파일을 열면에서 Uncaught TypeError: a.indexOf is not a function
오류가 콘솔에 표시됩니다 jquery.min.js:4
.
기초 사이트의 단계에 따라 프로젝트를 만들었지만이 오류를 제거 할 수없는 것 같습니다. Foundation 및 jQuery는 index.html 파일에 포함되어 올바르게 연결된 것처럼 보이고 연결된 app.js 파일에는 다음이 포함됩니다.$(document).foundation();
누구 든지이 오류의 원인을 알고 있습니까? 그리고 어떤 해결책이 될 수 있습니까?
답변
이 오류는 같은 jQuery를 이벤트 – 별명에 의해 발생할 수 있습니다 .load()
, .unload()
또는 .error()
모든이되어 사용되지 jQuery를 1.8부터 . 코드에서 이러한 별칭을 찾아 .on()
대신 메소드로 대체하십시오. 예를 들어, 더 이상 사용되지 않는 다음 발췌문을 바꾸십시오.
$(window).load(function(){...});
다음과 같이 :
$(window).on('load', function(){ ...});
답변
이 오류는 종종 호환되지 않는 jQuery 버전으로 인해 발생합니다 . foundation 6
저장소 와 동일한 오류가 발생했습니다 . 내 저장소는을 사용 jQuery 3
했지만 Foundation에는 이전 버전이 필요합니다. 나는 그것을 바꿨다.
당신이 jQuery를 버전을 보면 의해 필요한 기초 5 개 의존성 은 상태 "jquery": "~2.1.0"
.
올바른 버전의 jQuery를로드하고 있는지 확인할 수 있습니까?
이게 도움이 되길 바란다.
답변
jQuery Migrate Plugin 아래에 추가하십시오
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.4.1.min.js"></script>
답변
나는이 문제에 직면했다. 내가 사용 된 jquery.poptrox.min.js
이미지 터지는과 확대하고 나는 말했다 오류가 발생했습니다 :
“Uncaught TypeError : a.indexOf is a function” 오류입니다.
이것은 indexOf
지원되지 않았기 때문에 3.3.1/jquery.min.js
간단한 수정은 이전 버전으로 변경하는 것 2.1.0/jquery.min.js
입니다.
이것은 나를 위해 그것을 고쳤다.
답변
가능한 이유 중 하나는 다음 과 같이 jQuery TWICE를로드 할 때입니다 .
<script src='..../jquery.js'></script>
....
....
....
....
....
<script src='......./jquery.js'></script>
따라서 소스 코드를 확인하고 중복 jQuery로드를 제거하십시오.
답변
사용 jQuery 3.3.1
하고 있는데 동일한 오류가 발생했습니다. 제 경우 URL은 Object
vs 문자열이었습니다.
일어난 일은 내가 가져간 것입니다 URL = window.location
-객체를 반환했습니다. 일단 그것을 변경 window.location.href
하면 e.indexOf
오류 없이 작동했습니다 .
답변
Jquery
내 프로젝트에 필요한 올바른 버전을 설치 하여이 문제를 해결했습니다.npm