1

サイトの背景画像は約 50 枚あります。私がやろうとしているのは、訪問ごとに異なるユーザーをランダムに提示することです。これは、訪問中に同じ背景画像でサイトを閲覧することを意味します。

ユーザーがブラウザーを閉じて再度アクセスするか、後でアクセスすると、新しいランダムな背景画像が表示されます。以前の背景画像を保存する必要はありません。サイトへの新しい訪問ごとにランダムに新しい画像を保存するだけです。

これが C#、Javascript、JQuery、または CSS で実行できるかどうかはわかりません。

編集: Web アプリに ASP.net 4.0 C# を使用しています。ありがとう

4

5 に答える 5

2

cookiesコメントにあるように使用しないでください。これは、サーバーに送信されるヘッダー メッセージに余分な帯域幅を追加するだけです。

代わりに、ブラウザーのローカル ストレージを使用して、最後に使用した画像を保存します。新しいセッションが開始されると、この値が増加し、次の画像が表示されます。

プロジェクトでjStorageを使用しましたが、問題なく動作します。

現在表示されている画像をブラウザ ストレージに保存できます。セッション ID も保存できます。後で、セッション ID が変更されたかどうかを確認できます。その場合は、別の画像に変更してください。

var image = $.jStorage.get("image", 0);
var session_id = $.jStorage.get("session", "put current session id here");

if(session_id != "current session id")
{
   image = (image < 50) ? 0 : image+1;
   $.jStorage.set("image",image);
   $.jStorage.set("session","current session id");
}

// use image to set background

編集:

この JavaScript を各 Web ページに配置しないでください。代わりに、Javascript コンテンツ タイプとして応答する ASP.NET ページに配置し、ページのヘッダーを介してロードします。この方法では、ブラウザでのページ キャッシュは、セッションが変更されたときにスクリプトに影響を与えません。

于 2013-05-14T02:35:40.570 に答える