1

読み込み後にホームページに表示されるポップアップがあり、これが新しい訪問者ごとに 1 回だけ発生するようにする必要があります。

これを行う最善の方法は何ですか?私は jQuery と PHP にかなり精通していますが、正直なところ、しばらくの間、どのような種類の Cookie も扱っていません。

すべての提案を歓迎します。

ありがとうございました

4

3 に答える 3

2

私は3つの可能性を考えることができました:

PHP セッション:
イベントが発生したら、AJAX 呼び出しをサーバーに送信します。ユーザーの session_id をデータベースなどのどこかに保存します (sessionid を持つ単純な 1 列のテーブルで十分です)。データベースを確認してセッション ID が見つかった場合、ユーザーが既にイベントを発生させていることがわかります。

Javascript Cookie:
情報を JS Cookie に保存するだけです。jQuery に固執したい場合は、この種の目的に適したプラグインが利用可能です。

ブラウザー ストア:
これは、発生したイベントを識別するために必要な情報を簡単に保存できるsessionStore または localStoreのいずれかです。

個人的には、訪問者のブラウザーを知っている場合は、2 つまたは 3 つを使用します。これは、周りのすべてのブラウザーがこれに対応しているわけではないためです (ただし、IE6/7 をまだサポートしたい人がいるとは思えません)。

于 2012-08-23T11:52:00.230 に答える
1

この場合、セッションまたはCookieを使用できます。

1.Cookievisited_alreadyが存在するかどうかを確認します。

2.存在する場合、彼はすでに私たちのサイトを訪問し、何もしません。

3.それ以外の場合、最初の訪問:何かをしてvisited_alreadyCookieを作成します。

例えば:

if(!isset($_COOKIE['visited_already']))
{
setcookie('visited_already' , 'true' , time()+60*60*24*7*365); //Will expire in a year (or when the user delete cookies)
//pop-up code here.
}
于 2012-08-23T11:51:03.400 に答える
0

皆さんの貢献に感謝します。

完全に機能する別のソリューションを見つけました。このリンクは私を大いに助けてくれました: How to set cookies in Javascript

jQuery(window).load(function() {
            var cookie_mesage = jQuery.cookie('welcome');
            if (cookie_mesage != 'hide') {
                jQuery('.ceebox').trigger('click');
                jQuery.cookie('welcome', 'hide');
            };
        });

それは速く、うまく機能します。まさに私が必要としていたものです。

于 2012-08-23T12:30:47.193 に答える