2016-10-24 2 views
0

jQuery 1.12.4에서 3.1.1로 응용 프로그램을 업그레이드하려고합니다. 특정 방법으로 실패하는 스크립트가 여러 개 있지만 그 이유를 알 수 없습니다. 여기 내가보고있는 것이 있습니다. 다음과 같습니다

코드 :

(function($) { 
$.widget("ui.voicerecorder", 
{ 
... 
}); 

})(jQuery); 

는 오류가 발생합니다 :

$(function() { 
$.widget("ui.voicerecorder", 
{ 
... 
}); 

}); 
: 나는이를 변경하면 개체,

그러나 속성 또는 메서드 '위젯'을 지원하지 않습니다

오류가 사라지지만 나중에 jQuery에서 다시 동일한 오류가 발생합니다. 객체가 속성 또는 메서드 '위젯'을 지원하지 않습니다. 어디서 볼지, 또는 위젯의 정의를 변경하면 차이가 나는 이유는 확실하지 않습니다.

jQuery를 3.1.1의 오류가 줄에서 발생 3855.

편집 : 여기 헤더에있는 스크립트 태그의 순서입니다 :이 오류가 발생할

<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/jquery-3.1.1.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/jquery-migrate-3.0.0.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/require-2.3.2.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/ui/jquery-ui-1.12.1.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/jquery.misc.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/ui/jquery.menuopts.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/ui/jquery.inbox.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/ui/jquery.themechanger.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/ui/jquery.voicerecorder.js?v=5.15b"></script> 
<script language="JavaScript" type="text/javascript" src="rui/scripts/jquery/ui/jquery.keypad.js?v=5.15b"></script> 

조각은 jquery.menuopts.js, inbox, themechanger, voicerecorder, keypad입니다. 보시다시피 위젯 코드를로드하는 jquery_ui 다음에 모두 있습니다. jquery 1.12 및 jquery-ui 1.8로 다시 변경하면 모든 것이 첫 번째 구문으로 올바르게로드됩니다. 이것이 타이밍 문제 일 수 있습니까? IE 11.0을 사용하고 있습니다.

+0

페이지가로드 될 때 첫 번째 페이지가 즉시 실행되고 후자는 페이지가 준비되고 _then_ 실행될 때까지 대기합니다. 코드의 두 부분은 실제로하는 일과는 다소 다릅니다. 두 경우 모두'.widget'을 jQuery에 추가하는 JS 파일을 가져 오지 않는다고 생각합니다. – vlaz

+0

[jQuery Migrate Plugin] (https://jquery.com/upgrade-guide/3.0/#jquery-migrate-plugin)을 확인하십시오. jQuery 버전을 업그레이드 할 때 도움이되는 특정 오류가 많이 발생합니다. – Andrew

+0

Migrate Plugin을 사용 중입니다. 단지 몇 가지 권장되지 않는 경고가 표시됩니다. – jmarkmurphy

답변

0

첫 번째 예에서는 위젯이 아직로드되지 않은 것 같습니다. 코드는 즉시 실행되는 함수에서 즉시 실행됩니다.

그러나 두 번째 예제에서는 문서 준비 처리기를 사용하므로 나중에 실행됩니다.

$(function() {//...