Uncatched TypeError: 정의되지 않음 jquery-min.js를 로드할 때 함수가 아닙니다.
CSS 파일 5개와 자바스크립트 파일 10개 정도를 로드해야 하는 일반 웹페이지를 만들고 있습니다.
- HTML 페이지에 별도로 로드하면 내 웹페이지가 정상적으로 로드됩니다.
이제 제작을 위해 필요한 순서대로 모든 자바스크립트를 하나의 파일로 연결하고, 모든 CSS를 다른 파일로 연결하였습니다.그러나 연결된 파일로 웹 페이지를 실행하려고 하면 다음과 같은 오류가 발생합니다.
Uncaught TypeError: undefined is not a function
연결된 자바스크립트 파일에서 jquery.min.js가 로드되고 있는 라인에서.
이를 완화하기 위해 제가 할 수 있는 일은 무엇입니까?모든 파일을 연결해서 제작을 위해 최소화하고 싶습니다.제발 도와주세요.
편집: 자바스크립트와 CSS를 개별적으로 로딩할 때의 순서대로 병합하여 정상적으로 동작하였습니다.
이 문제가 여전히 해결되지 않았다고 가정하면 많은 개별 파일이 세미콜론으로 코드를 종료하지 않습니다.의 jQuery는로다다로 끝납니다.(jQuery)
그리고 당신은 당신이 가지고 있어야 합니다.(jQuery);
.
개별 파일로는 스크립트가 잘 로드되지만 개별 파일로는 세미콜론이 필요합니다.
파일을 병합하는 순서를 다시 확인해야 할 수도 있습니다. 다음과 같습니다.
- jquery.min.js
- jquery-ui.js
- 로드하는 모든 타사 플러그인
- 사용자 지정 JS
이 해결책은 나에게 효과가 있었습니다.
;(함수($){// 귀부호}(jQuery);
폐쇄 내부에서 코드를 이동하고 jQuery 대신 $를 사용합니다.
https://magento.stackexchange.com/questions/33348/uncaught-typeerror-undefined-is-not-a-function-when-using-a-jquery-plugin-in-ma 에서 위의 솔루션을 찾았습니다.
너무 많은 양을 써버린 후에
jQuery의 다른 버전에 대한 2개의 레퍼런스가 있어서 같은 오류가 발생하였습니다.
내 마스터 페이지에서:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
또한 페이지에 다음과 같은 내용이 있습니다.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"> </script>
최근에 squishit을 사용하는 jQuery Validation 플러그인에서 js 오류가 발생하는 문제가 있었습니다.
"정의되지 않음은 함수가 아닙니다."
jquery.validate.min.js가 아닌 unminized jquery.validate.js 파일로 reference를 변경하여 수정하였습니다.
@MvcHtmlString.Create(
@SquishIt.Framework.Bundle.JavaScript()
.Add("~/Scripts/Libraries/jquery-1.8.2.min.js")
.Add("~/Scripts/Libraries/jquery-ui-1.9.1.custom.min.js")
.Add("~/Scripts/Libraries/jquery.unobtrusive-ajax.min.js")
.Add("~/Scripts/Libraries/jquery.validate.js")
.Add("~/Scripts/Libraries/jquery.validate.unobtrusive.js")
... more files
예를 들어, Squishit을 사용하여 파일을 최소화한 버전은 Squishit을 사용하여 추가로 압축할 때, 경우에 따라 @Dustin이 제안하는 것처럼 누락된 세미콜론 등을 처리하지 못할 수도 있으므로 이중으로 압축할 수 있는 파일과 Squishit 또는 번들로 제공되는 파일을 실험해야 할 수도 있습니다.
아직도 이 문제를 해결하지 못한 분들을 위해 저는 jQuery를 사용할 때 '이것'을 '$(this)'로 변경했습니다.
예:
$('.icon').click(function() {
this.fadeOut();
});
고정:
$('.icon').click(function() {
$(this).fadeOut();
});
같은 이름을 가진 변수를 함수로 잘못 명명했을 때, 저는 같은 문제에 부딪혔습니다.
그래서 이것은:
isLive = isLive(data);
OP의 언급된 오류 메시지를 생성하지 못했습니다.
이를 해결하는 방법은 위에서 다음과 같이 간단하게 변경할 수 있었습니다.
isItALive = isLive(data);
이런 상황에서 얼마나 도움이 되는지 모르겠지만, 비슷한 문제에 대한 해결책을 찾는 다른 사람들을 위해 이 답을 내놓기로 했습니다.
네, js 라이브러리에 있는 변경도 미완성으로 수정했습니다.
예를 들어 태그에서 다음을 변경합니다.
<script type="text/javascript" src="js/jquery.ui.core.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.rcarousel.min.js"></script>
용도:
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.rcarousel.js"></script>
min을 minimined로 종료합니다.
아이디어 감사합니다.
기억하세요: 자바스크립트 기능은 대소문자를 구분합니다.
코드가 원활하게 실행될 것이라고 확신하는 경우가 있었습니다.하지만 여전히 오류가 발생하여 구글 크롬의 자바스크립트 콘솔을 확인하여 무엇인지 확인하였습니다.
저의 에러라인은
opt.SetAttribute("value",values[a]);
그리고 같은 오류 메시지를 받았습니다.
Uncaught TypeError: undefined is not a function
위의 코드에는 이상이 없는 것 같은데 실행이 안 되고 있습니다.거의 한 시간 동안 문제를 해결한 다음 다른 실행 코드와 비교했습니다.내 실수는 그것이 다음과 같이 설정되었다는 것입니다.SetAttribute
, 어느 쪽이 되어야 할까요?setAttribute
.
나 같은 바보가 있을까봐, 간단한 걸 잊어버려서 이런 답답한 문제가 있었어요.
new
새 개체를 인스턴스화하기 전에 키워드를 지정합니다.
저는 방금 다음 코드와 같은 메시지를 받았습니다. (IcedCoffeeScript에서)
f = (err,cb) ->
cb null, true
await f defer err, res
console.log err if err
이것은 일반적인 ICS 코드처럼 보였습니다.대기 지연 구조를 일반 커피스크립트로 펼쳤습니다.
f (err,res) ->
console.log err if err
은 Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ ΔΔ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δf
의 파라미터를 합니다. 두의가됨개안함정상함안정상ggom두s,,t .cb
에서 안에f
한, 가 한 한 가 .undefined is not a function
.
제가 맹목적으로 콜백 스타일의 보일러 플레이트 코드를 붙여서 실수가 발생했습니다.f
요는 err
전달되는 매개변수는 다음과 같습니다.
f = (cb) ->
cb null, true
f (err,res) ->
console.log err if err
일반적인 경우에는 기능 서명과 일치하는 아티스에 대한 호출을 다시 확인하는 것을 추천합니다.오류 메시지의 콜 스택은 유용한 힌트를 제공할 수 있어야 합니다.
특별한 경우 병합된 파일에 다른 서명이 있는 함수 정의가 두 번 나타나거나 함수를 보유한 전역 변수에 할당된 함수를 찾는 것이 좋습니다.
댓글에 댓글을 달았는지 확인합니다.복사하여 붙여넣을 때 "/*!"가 생략되는 경우가 있습니다.
또한 콘솔에 들어가면 오류가 나열되므로 한 번에 하나씩 오류를 처리해야 합니다."Uncatched SyntaxError"가 표시되는 경우:예기치 않은 토큰 * " js 파일을 읽고 있으며 첫 줄을 통과하지 못하고 있음을 의미할 수 있습니다.
/*! * jquery.tools 1.1.2 - 웹용 UI 라이브러리 * [tools.jquery-1.0.4, tools.tooltip-1.1.2, tools.dutable-1.1.2, tools.dutable-1.2, tools.jquery-1.1.2, tools.jquery-1.5] * * Copyright(c) 2009 Tero Piirainen * http://flowplayer.org/tools/ * 생성된 파일:2009년 10월 7일 수요일 2009:40:16 GMT */
제가 실수로 너무 많은 파라미터를 하나의 콜백 파라미터만 예상하는 jquery 함수에 전달했을 때 이것을 얻었습니다.
다른 문제 해결을 위해: 추가 매개 변수에 대한 모든 jquery 함수 호출을 확인해야 합니다.
언급URL : https://stackoverflow.com/questions/10429838/uncaught-typeerror-undefined-is-not-a-function-on-loading-jquery-min-js
'programing' 카테고리의 다른 글
다른 Colate를 사용하여 지속 열 (0) | 2023.09.06 |
---|---|
Docker 컨테이너에서 실행 중인 Jupyter 노트북에 액세스합니다. (0) | 2023.09.06 |
첫 번째 '/'(슬래시)에서 줄을 분할하고 그 일부를 ''에서 둘러싸는 방법은? (0) | 2023.09.06 |
도커로 mariaDB 컨테이너 및 시작 스크립트 시작 (0) | 2023.09.06 |
AJAX 대 양식 제출 (0) | 2023.09.06 |