3

スクリプトを自分のサイトで動作させようとしましたが、Chrome、Safari、および Firefox では動作しますが、IE 9 (互換モードで動作します) または Opera では動作しません。私がキャッチしていない問題はありますか?

スクリプトは次のとおりです。

$(document).ready(function(){
$.getJSON('/storage/xml/biblereading2.json', function(data) {
today = Date.today();
var name = today.getDay();
var date = today.getDate();
var month = today.getMonth();
var year = today.getFullYear();
var fullday = name.toString();
var todaydoy = today.getDayOfYear();
var todaywoy = today.getWeekOfYear();
//array for months
fullmonth = new Array (12);
fullmonth[0] = "January";
fullmonth[1] = "February";
fullmonth[2] = "March";
fullmonth[3] = "April";
fullmonth[4] = "May";
fullmonth[5] = "June";
fullmonth[6] = "July";
fullmonth[7] = "August";
fullmonth[8] = "September";
fullmonth[9] = "October";
fullmonth[10] = "November";
fullmonth[11] = "December";
fullday = new Array (7);
fullday[0] = "Sunday";
fullday[1] = "Monday";
fullday[2] = "Tuesday";
fullday[3] = "Wednesday";
fullday[4] = "Thursday";
fullday[5] = "Friday";
fullday[6] = "Saturday";
var s = todaydoy - 1;
$("#biblereading").append('<p><span class="bold_font">Bible Reading for Today:</span>  </br>' + fullmonth[month] + ' ' + date + ', ' + year + '</br>' + data.schedule[s].portion.reading + '</br></p>');
});
});

最初のいくつかの変数で日付の問題を処理するために date.js を使用しています。月と日を綴る配列であり、同じサーバーから json を呼び出しています。

Opera は、data.schedule[s] に TypeError があると言い続けます。

IE 9 は、data.schedule[s] に未定義または null の値があることを伝え続けます。

何か案は?(この試みは、http://rosemontbaptist.comのフロント ページの実装で確認できます。

4

1 に答える 1

1

あなたがtodaydoyが何であるかをログに記録する場合

var todaydoy = today.getDayOfYear();

IE で間違った値を返していることがわかります。以下は IE9 のコンソールのウォッチ ウィンドウからコピーされたものです。

todaydoy    694324  Number

使用している Date ライブラリにバグがあるかどうかを確認する必要があります。

于 2012-12-29T23:27:27.143 に答える