0

GAE フロントエンド アプリでほとんどの背景画像を読み込むときに問題が発生します。

「リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました」。

私のアプリは単純な Web サイトで、GAE バックエンドはありません。Google AppEngine プラグインで Eclipse を使用しています。

背景画像は、JQuery を使用して 10 秒ごとに変更されます。

私が理解できないのは、16 枚の背景画像のうち、3 番目と 11 番目の画像は常に検出され、残りの画像は検出されないということです。(いや、何百万回もチェックした名前は間違っていません..)

写真にアクセスする方法に何らかの系統的エラーがある場合、それらはすべて失敗するべきではありませんか?

ここで明らかに何かが欠けていますが、何ですか?答えをグーグルで検索しようとしましたが、わかりません。すべてがローカルで正常に動作します。

アイコンとヘッダー用に持っている他の小さな画像は、常に完全に読み込まれます。問題は、大きな背景画像にあります。ブラウザによる違いはありません。

私が試したこと(成功しなかった):

  • スタック サイズ (-Xmx10m -Xss10m) を増やして、展開が何らかの理由で失敗したかどうかを確認しました。
  • app.yaml ファイルがありません。単純な app.yaml ファイルを追加して、画像が「images」フォルダにあることをエンジンに伝えようとしました。
  • 背景画像を「画像/背景」から「画像」に移動しました
  • 単一の色の背景だけですべての写真を本当に簡単に変更するテストを行ったところ、すべての写真は問題ありませんでした..そして、コードを変更せずに3番目と11番目を除いて、すべての写真が失敗しました.

ここで何が欠けているのか分かりませんか?ローカルでは機能するが、GAE では機能しない場合、環境の違いはどこかにリストがありますか..?

コードの一部を以下に示します。

var photos = [ {
"image" : "p1.jpg",}, {
"image" : "p2.jpg",}, {
"image" : "p3.jpg",}, { 
// pictures 4-10
    "image" : "p11.jpg",}, { 
// pictures 12-15
    "image" : "p16.jpg",
        }
        ];


// Set the background image of the new active container
$("#backgroundimg" + activeContainer).css({
    "background-image" : "url(images/" + photoObject.image + ")",
    "display" : "block",
    "z-index" : currentZindex
});

// Fade out the current container
// and display the header text when animation is complete
$("#backgroundimg" + currentContainer).fadeOut(function() {
    setTimeout(function() {
        animating = false;
    }, 1000);
});
4

1 に答える 1

0

相対的ではなくドキュメントのルートから、絶対的に画像を参照してみてください。現在のディレクトリからの相対参照:

url(images/" + photoObject.image + ")"

絶対参照、現在のディレクトリに関係なく機能します(何らかの形でGoogleアプリエンジンが他のコードを動的に変更しているのではないかと思っています.

url(/images/" + photoObject.image + ")"

写真オブジェクトにも興味があります。少量のコンテキストを考えると、これは扱いやすいかもしれません:

var photos = ["p1.jpg", "p2.jpg", "p3.jpg", "p11.jpg", "p16.jpg"];

幸運を!

`

于 2013-09-20T01:22:53.360 に答える