0

同じドメインに 2 つのページがあります。どちらも Google カレンダーからイベント フィードを取得しようとしています。1 つは成功し、1 つは失敗します。唯一の違いは、一方が jQuery の document.ready を使用し、もう一方が window.onload を使用することです。

機能するページ: http://wwwtest.english.wisc.edu/calendar.htm

動作しないページ: http://wwwtest.english.wisc.edu/844.htm

2 番目のページは CMS によって生成されているため、スクリプトの読み込み順序をあまり制御できないため、window.onload を使用して他のスクリプトが最初に読み込まれるようにしています。

*以下の追加説明*

はい、デバッグを行いました。正確なエラーは次のとおりです。

XMLHttpRequest は https://www.google.com/calendar/feeds/rhrab82ir5qgut1ddv7qj087c8%40group.ca …ar.google.com/public/basic?start=1356847200&end=1360476000&_=1358694509517 を読み込めません。Origin http://wwwtest.english.wisc.eduは Access-Control-Allow-Origin で許可されていません。

しかし、私にとって紛らわしい部分はこれです:

動作するページからコードをコピーし、次の 2 つの点のみを変更しました。

1) jQuery の document.ready の使用から window.onload の使用に変更しました

2) jQuery セレクターを変更しました

4

4 に答える 4

1

firebugのクイックデバッグで問題が見つかった可能性があります。あなたの電話

https://www.google.com/calendar/feeds/rhrab82ir5qgut1ddv7qj087c8%40group.calendar.google.com/public/basic?start=1356850800&end=1360479600&_=1358632991615 が返されます:XML解析エラー:要素が見つかりません場所:moz-nullprincipal :{627004d0-0e97-ca46-9ae8-767df4ae9d4f}行番号1、列1:

クロスドメインAjax呼び出しにいくつかの興味深い情報があり、要素が見つかりません場所:moz-nullprincipal および

jQueryAjax呼び出し要素が見つかりません問題

于 2013-01-19T22:06:06.723 に答える
1

XMLHttpRequestはhttps://www.google.com/calendar/feeds/rhrab82ir5qgut1ddv7qj087c8%40group.ca…ar.google.com/public/basic?start=1356814800&end=1360443600&_=1358633133560を読み込めません。Origin http://wwwtest.english.wisc.eduは、Access-Control-Allow-Originでは許可されていません。

私はそのようなものをデバッグするためにChromeを使用しています。JavaScriptコンソールの場合はCtrl+Shift+J。

于 2013-01-19T22:07:51.953 に答える
1

どうやらフル カレンダーには、Google カレンダー イベントを使用するために必要な特定の追加スクリプトがあります。

情報はこちら: http://arshaw.com/fullcalendar/docs/google_calendar/

最初の例ではこのスクリプトがロードされていますが、2 番目の例ではロードされていません。追加すると、イベントが正しく読み込まれます。

于 2013-01-20T15:52:32.083 に答える
0

1 つ目は jsonp API を使用し、2 つ目は xml API を使用しているため、2 つ目のリクエストを jsonp API を使用するように変更できる場合は、同じオリジン ポリシーが適用されます。

于 2013-01-19T22:10:34.430 に答える