programing

Uncatched TypeError: 정의되지 않음 jquery-min.js를 로드할 때 함수가 아닙니다.

lovejava 2023. 9. 6. 21:42

Uncatched TypeError: 정의되지 않음 jquery-min.js를 로드할 때 함수가 아닙니다.

CSS 파일 5개와 자바스크립트 파일 10개 정도를 로드해야 하는 일반 웹페이지를 만들고 있습니다.

  • HTML 페이지에 별도로 로드하면 내 웹페이지가 정상적으로 로드됩니다.
  • 이제 제작을 위해 필요한 순서대로 모든 자바스크립트를 하나의 파일로 연결하고, 모든 CSS를 다른 파일로 연결하였습니다.그러나 연결된 파일로 웹 페이지를 실행하려고 하면 다음과 같은 오류가 발생합니다.

    Uncaught TypeError: undefined is not a function

연결된 자바스크립트 파일에서 jquery.min.js가 로드되고 있는 라인에서.

이를 완화하기 위해 제가 할 수 있는 일은 무엇입니까?모든 파일을 연결해서 제작을 위해 최소화하고 싶습니다.제발 도와주세요.


편집: 자바스크립트와 CSS를 개별적으로 로딩할 때의 순서대로 병합하여 정상적으로 동작하였습니다.

이 문제가 여전히 해결되지 않았다고 가정하면 많은 개별 파일이 세미콜론으로 코드를 종료하지 않습니다.의 jQuery는로다다로 끝납니다.(jQuery)그리고 당신은 당신이 가지고 있어야 합니다.(jQuery);.

개별 파일로는 스크립트가 잘 로드되지만 개별 파일로는 세미콜론이 필요합니다.

파일을 병합하는 순서를 다시 확인해야 할 수도 있습니다. 다음과 같습니다.

  1. jquery.min.js
  2. jquery-ui.js
  3. 로드하는 모든 타사 플러그인
  4. 사용자 지정 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