본문 바로가기
웹 개발 이야기/js, jquery

[JS] bxslider_ cannot read property 'indexof' of undefined

by Gommin 2023. 6. 15.

그누보드를 이용하여 개발을 진행하다보면 부트스트랩을 외부에서 다운로드 받은 후 작업을 할 때가 종종 있다.
그누보드에는 일반적으로 낮은 버전jquery를 사용하도록 되어있다.
부트스트랩을 이용하려면 jquery 버전을 높여야해서 나는 cdn 방식으로 링크 주소를 가져와서 사용한다.
그럴 경우 멀쩡히 돌아가던 bxslider가 오류를 토해내면서 일을 하지 않는다.

uncaught typeerror cannot read property 'indexof' of undefined

위 오류를 해결하기위해서는 bxslider.js 파일의 소스를 조금 수정하면 해결 가능하다.
나의 경우 js 폴더에 있는 jquery.bxslider.js 파일을 수정했다. (그누보드)

var count = 0;
selector.find('img, iframe').each(function(){
    $(this).one('load', function() {
        if(++count == total) callback();
    }).each(function() {
        if(this.complete) $(this).load();
    }
}

 

파일을 열어보면 위와 같이 작성되어있는 부분을 찾을 수 있다.
"if(this.complete) $(this).load();" 이 부분을 "if(this.complete) $(this).trigger('load');" 이렇게 바꿔주면 된다.

var count = 0;
selector.find('img, iframe').each(function(){
    $(this).one('load', function() {
        if(++count == total) callback();
    }).each(function() {
        if(this.complete) $(this).trigger('load');
    }
}

댓글