24.0.1312.52 m
jQuery 1.8.2、jQuery UI 1.8.23、およびKnockout2.2.0を使用しているページでGoogleChromeバージョンでエラーが発生します。ページをロードすると、単純なURLへのHTTPリクエストが失敗しGET data: HTTP/1.1
、jQuery UIダイアログを初期化するステートメントから生成されます(コードについては、投稿の下部を参照してください)。ページは正常に動作しますが、これによりステータスバーとJSコンソールにエラーが表示されるため、ユーザーを怖がらせないようにしたいと思います。このエラーはIE9またはFireFox15.0.1には表示されませんが、Safari 5.1.7(Windows)には表示されます。Chrome Inspectorでは、エラーの呼び出しスタックは次のようになります。
GET data: jquery.min.js:2
a.getComputedStyle.bH jquery.min.js:2
p.extend.css jquery.min.js:2
bZ jquery.min.js:2
b$ jquery.min.js:2
p.fn.extend.show jquery.min.js:2
p.each.p.fn.(anonymous function) jquery.min.js:2
a.fn.extend.show jquery-ui.min.js:5
a.widget._create._renderAxis jquery-ui.min.js:5
a.widget._create jquery-ui.min.js:5
a.Widget._createWidget jquery-ui.min.js:5
a.widget.a.(anon function).(anon function) jquery-ui.min.js:5
a.widget.bridge.a.fn.(anonymous function) jquery-ui.min.js:5
p.extend.each jquery.min.js:2
p.fn.p.each jquery.min.js:2
a.widget.bridge.a.fn.(anonymous function) jquery-ui.min.js:5
a.widget._makeResizable jquery-ui.min.js:5
a.widget._create jquery-ui.min.js:5
a.Widget._createWidget jquery-ui.min.js:5
a.widget.a.(anon function).(anon function) jquery-ui.min.js:5
a.widget.bridge.a.fn.(anonymous function) jquery-ui.min.js:5
p.extend.each jquery.min.js:2
p.fn.p.each jquery.min.js:2
a.widget.bridge.a.fn.(anonymous function) jquery-ui.min.js:5
ko.bindingHandlers.jqDialog.init QualityWalkViewModel.js:78
b.j.W knockout-2.2.0.js:11
g knockout-2.2.0.js:43
b.j knockout-2.2.0.js:45
W knockout-2.2.0.js:10
X knockout-2.2.0.js:12
Y knockout-2.2.0.js:12
X knockout-2.2.0.js:12
Y knockout-2.2.0.js:12
X knockout-2.2.0.js:12
b.Ca knockout-2.2.0.js:58
registerVM 3896:378
(anonymous function) 3896:362
p.Callbacks.k jquery.min.js:2
p.Callbacks.l.fireWith jquery.min.js:2
p.extend.ready jquery.min.js:2
D jquery.min.js:2
スクリプトを参照する場所は3つあります。
ko.bindingHandlers.jqDialog.init QualityWalkViewModel.js:78
registerVM 3896:378
(anonymous function) 3896:362
3896はページの名前です(これはのようなURLのIDセグメントです /WalkThrough/Edit/3896
)。参照されている行のコードは次のとおりです。
(anonymous function) 3896:362
360 <script type="text/javascript">
361 $( function() {
362 registerVM(); <--- here
registerVM 3896:378
374 <script type="text/javascript">
375 var vm; // debug
376 function registerVM() {
377 vm = new QualityWalkViewModel( initialQualityWalkData );
378 ko.applyBindings( vm ); <--- here
379 }
QualityWalkViewModel.js:78
68 ko.bindingHandlers.jqDialog = {
69 init: function( element, valueAccessor ) {
70 var options = ko.utils.unwrapObservable( valueAccessor() ) || {};
71
72 // handle disposal
73 ko.utils.domNodeDisposal.addDisposeCallback( element, function() {
74 $( element ).dialog('destroy');
75 });
76
77 // init the dialog
78 $( element ).dialog( options ); <--- here
79 }
80 };
この最後のスクリプトは、jQueryUIダイアログを初期化するためのカスタムバインディングハンドラーであり、JQueryダイアログ内のMVCKnockoutJSに応答してhttp://jsfiddle.net/rniemeyer/WpnTU/から適合されています。
行をコメントアウトする$( element ).dialog( options );
と、エラーはなくなります。jQuery UIが空のdata:
URLを生成し、それを要求しようとする理由はありますか?