jquery 3.0 url.indexOf 오류
jQuery에서 다음과 같은 오류가 발생합니다.v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
왜 그런지 추측이라도?
호출하는 모든 코드 업데이트load
다음과 같은 기능을 합니다.
$(window).load(function() { ... });
로.
$(window).on('load', function() { ... });
jquery.js:9612 Uncaught TypeError:url.indexOf가 함수가 아닙니다.
이 오류 메시지는 다음에서 발생합니다.jQuery.fn.load
기능.
저는 제 지원서에서 같은 문제를 발견했습니다.조사한 결과, jQuery 블로그에서 이 진술을 발견했습니다.
jQuery 1.8 이후로 더 이상 사용되지 않는 .load, .unload 및 .error는 더 이상 없습니다.수신기를 등록하려면 .on()을 사용합니다.
나는 단지 내 jQuery 객체가 호출하는 방법을 변경할 뿐입니다.load
위와 같이 기능합니다.그리고 모든 것이 예상대로 작동합니다.
더 나은 접근 방식은 이와 같은 폴리필일 수 있습니다.
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
이렇게 하면 기존 코드를 그대로 유지할 수 있습니다.웹 팩을 사용하는 경우 스크립트 로더를 사용해야 합니다.
Jquery 3.0에는 충돌로 인해 특정 메서드를 제거하는 몇 가지 중단된 변경 사항이 있습니다.오류는 .load() 이벤트 제거와 같은 변경 사항 중 하나 때문일 가능성이 높습니다.
jQuery Core 3.0 업그레이드 가이드에서 자세히 알아보기
이 문제를 해결하려면 JQuery 3.0과 호환되도록 코드를 다시 작성하거나 JQuery Migrate 플러그인을 사용하여 더 이상 사용되지 않거나 제거된 API 및 동작을 복원할 수 있습니다.
JQuery 최신 버전으로 업데이트한 후 동일한 오류가 발생했습니다.그래서 제가 작업하고 있던 jquery 파일을 이전 답변에 명시된 대로 업데이트했습니다..on("load")
대신에.load()
.
이 해결책은 그다지 안정적이지 않고 가끔은 제게 효과가 없었습니다.따라서 이 문제를 해결하려면 다음에서 코드를 업데이트해야 합니다.
.load();
로.
.trigger("load");
저는 https://github.com/stevenwanderski/bxslider-4/pull/1024 에서 이 수정 사항을 얻었습니다.
@choz 답변이 올바른 방법입니다.다양한 용도로 사용되며 변경 없이 모든 곳에서 작동하도록 하려면 다음과 같은 소규모 마이그레이션 스니펫을 추가할 수 있습니다.
/* Migration jQuery from 1.8 to 3.x */
jQuery.fn.load = function (callback) {
var el = $(this);
el.on('load', callback);
return el;
};
이 경우 다른 노드에서 오류가 발생하지 않습니다. 예를 들어$image
@Korsmakolnikov 대답처럼!
const $image = $('img.image').load(function() {
$(this).doSomething();
});
$image.doSomethingElseWithTheImage();
언급URL : https://stackoverflow.com/questions/37738732/jquery-3-0-url-indexof-error
'bestsource' 카테고리의 다른 글
에뮬레이터: 오류: x86 에뮬레이션에는 현재 하드웨어 가속이 필요합니다. (0) | 2023.08.27 |
---|---|
문자열에 유니코드 문자가 포함되어 있는지 확인하는 방법은 무엇입니까? (0) | 2023.08.27 |
ID가 'xxx'인 업데이트 패널을 찾을 수 없습니다.동적으로 업데이트되는 경우 다른 업데이트 패널 내부에 있어야 합니다. (0) | 2023.08.27 |
jQuery로 인증을 위한 AJAX 호출 암호화가 가능합니까? (0) | 2023.08.27 |
'object' 유형의 다른 지원 개체 '[objectObject]'을(를) 찾을 수 없습니다.NgFor는 어레이와 같은 반복 가능한 파일에 대한 바인딩만 지원합니다. (0) | 2023.08.27 |