fullcalendar.js および scheduler.js プラグインを使用して、顧客の ASP.NET WebForms サイトにスケジューラを実装しました。私のローカル マシンでは魅力的に動作しますが、それを他のマシン (顧客または私のもの) に展開すると、一般的な「未定義のプロパティ 'ownerDocument' を読み取れません」というエラーがスローされます。
スタック トレースは次のとおりです。
getScrollParent (fullcalendar.js:302)
queryBoundingRect (fullcalendar.js:2419)
build (fullcalendar.js:2236)
d.internalApiVersion.r.prepareHits (scheduler.min.js:8)
computeCoords (fullcalendar.js:3066)
handleInteractionStart (fullcalendar.js:3025)
startInteraction (fullcalendar.js:2520)
dayMousedown (fullcalendar.js:3656)
(anonymous function) (fullcalendar.js:3597)
dispatch (jquery.min.js:3)
q.handle (jquery.min.js:3)
エラーをスローする行は次のとおりです。
戻り位置 === '固定' || !scrollParent.length ? $(el[0].ownerDocument || ドキュメント) : scrollParent;
私がこれまでに行ったこと:
- 両方のシステムのファイルを確認してください。すべてのファイルがまったく同じです。
- fullcalendar をバージョン 3 に更新 (2.9.1 ファイルを新しいファイルに置き換えることにより)
- IISExpress と IIS で実行します
- fullcalendar の縮小されていないバージョンを使用します。
結果は上記のエラーです。
ここに私が処理しようとしているイベントがあります:
select: function(start, end, jsEvent, view, resource) {
$.ajax({
url: '/WebServices/WineLocationTaskService.asmx/GetUsersByWineLocation',
type: 'POST',
contentType: 'application/json; charset=utf-8',
datatype: 'json',
data: JSON.stringify({
locationID: '<%= App.Context.Data.Location.ParentLocation %>'
}),
success: function(data) {
var json = $.parseJSON(data.d);
var users = [];
$.each(json, function(i, field) {
//var option = $('<option value="' + field.id + '">' + field.name + '</option>');
//$('#users').append(option);
users.push({
id: field.id,
text: field.name
});
});
$('#users').select2({ data: users, multiple: true, width: "100%" });
},
error: function() {
alert('there was an error while fetching events!');
}
});
$("#startDate").text(start.format());
$("#endDate").text(end.format());
$("#resourceID").val(resource.id);
$("#dialog2").dialog('open');
},
バックエンドで、コード 200 の結果で ASMX サービスを呼び出します。応答データが有効な json として表示されます。
これは、IIS モジュール ハンドラーの設定が異なる可能性があるためでしょうか? 稼働中のサイトと稼働していないサイトの両方でまったく同じ web.confing を使用しています。