2016-10-24 3 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_が実行されるまでページが読み込まれます。コードの2つの部分は、実際には異なるものです。どちらの場合でも、 '.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

最初の例では、ウィジェットはおそらくまだロードされていません。コードは直ちに実行される関数ですぐに実行されます。

ただし、2番目の例では、ドキュメントレディハンドラを使用しているため、後で実行されます。

$(function() {//... 
関連する問題