0

私は ajax を介してページをロードする Web サイトに取り組んでいます。#!/url 構文を使用して現在の場所を追跡します。ページが最初に読み込まれたときに、そのページの URL のハッシュ部分に既に URL が含まれている場合は、JavaScript を使用してそのページにリダイレクトします。

document.location = initialPage;

私のコンテンツは、表示のために正しい順序で積み重ねられた position:absolute を持つ一連の div で構成されています。私の体の背景は、jQuery スライドを使用して定期的に切り替えられる画像のセットです。これはすべてのブラウザーで機能しますが、(ここに問題があります) Chrome を除き、コンテンツ div の背景画像が失われることがあります。再現する最も信頼できる方法は次のとおりです。

Ctrl-F5 を使用して再度更新すると、ページが再び正常に表示されることに注意してください。どちらの場合も、ページの読み込み時に実行される重要な JavaScript はありません。背景のスクロールは初期化されますが、背景のないページ (プロジェクト ページ) にも問題が存在します。これはChromeのバグであることに傾いていますが、これが機能する必要があります。誰でも何か提案できますか?

メンノ

4

2 に答える 2

2

CSSの背景には絶対パスを使用してみてください。多分それは問題を決定するのを助けることができます。

また、ページの読み込み後にブロックに背景を適用してみることができます

$(document).ready{
  $("#content").css("background","url(../Images/Css/bg_content.png)");
}

また、これは役に立つかもしれません。http://epsilon.tabeoka.be/fr/contactsのようなサンプルページをリクエストすると。ブラウザは41〜42のリクエストを行い、すべての画像をアップロードしました。私がそれをあなたのやり方で行うとき(Ctrl-F5を押した状態で)-ブラウザは31-33リクエストのみを実行しました。彼は背景の画像をアップロードしません。彼はそれらがすべてすでにアップロードされていると思っているようです。

だから私がクロームのキャッシュを無効にすると-バグは消えます。

たぶん、CSSの代わりにすべての背景属性をページに追加し、次のようにランダムな値を追加する必要があります。

<style>
  #content {
    background:url(../Images/Css/bg_content.png?rnd=123124);
  }
</style>
于 2012-08-16T11:50:07.887 に答える
1

それが本当にChromeのバグである場合(あなたの質問に対する私のコメントを参照してください)、背景画像をrgba背景色に置き換えてみてください。古いブラウザーのフォールバックを追加することができます。

background-color: rgb(16,34,68);
background-color: rgba(16,34,68,.75);
于 2012-08-16T15:00:19.457 に答える