1

Code Igniter を使用して Web サイトを開発しています。ユーザーが初めて Web サイトにアクセスしたときにポップアップを表示したいと考えています。彼が再びリフレッシュしているなら、それは再び来るべきではありません. 現在、セッション変数をチェックしています。存在しない場合は、そのポップアップを表示しています。その後、そのユーザーにボタンをクリックしてポップアップを閉じるように強制しています。そして、そのセッション変数を設定するためにサーバーにリクエストを送信しています。そのユーザーがページを更新すると、そのポップアップは再び表示されなくなります。

このアクションを完了するための最良の方法はありますか?

4

3 に答える 3

2

あなたが説明していることは良い考えではないと思います。UX の観点からは、ページを開いたときにポップアップを表示することは、まったくクールな体験ではありません。

于 2013-07-01T11:23:01.390 に答える
1

このアプローチを使用するサイトはほとんどなく、多くの場合、理由があります。ポップアップとは?多くの場合、ユーザーが行ったアクションの結果、または少なくともそれがアイデアです。そのボタンを押してポップアップが表示されれば問題ありません。しかし、この新しいサイトに初めてアクセスしたときに、サイトが表示されると判断する前にポップアップが表示された場合、それはうまくいきません。

このようにすることを主張する場合は、javascript cookieを介して実行することをお勧めします。固有のユーザーごとにサーバーで余分なパフォーマンスを要求することはなく、機密データは含まれません。最悪の場合、彼らは Cookie を操作してポップアップを再び表示します。

個人的には、YouTube のようにこれを行うことを好みます。サイトに入ると、情報が含まれている明確にマークされたボックスが表示され、積極的にクリックして詳細情報を得ることができます。

ここに画像の説明を入力 (このアカウントはcastlin.seが担当しています。続きを読む)

このアプローチは、ユーザーに通知するのに効率的であり、ユーザーが頻繁にやりたいことを邪魔することなく、より多くの情報を得ることができます。


このアクションを完了するための最良の方法はありますか?

いいえ。理由と利点を備えたいくつかの方法があります。ソリューションを提示することはできますが、「これを使用する必要があります」とは言えません。潜在的なSQLインジェクションの例外。それらは「必須」のハンドルです:)

于 2013-07-01T11:14:56.473 に答える
0

私は自分の (codeigniter) Web サイトで Cookie を使用しています。

jquery モーダル ダイアログプラグインを使用しました。とJQUERY クッキー

私はこのようなことをしました:

$(function() {

    if ($.cookie('showDialog') == undefined || $.cookie('showDialog') == null || $.cookie('showDialog') != 'false') {

    $("#dialog").dialog({ 
            width: 450, 
            modal: "true",
            hide: "fade",
            show: "fade",
            closeOnEscape: false, 
            draggable: true,
            resizable: false,
            title: 'Welcome to my site', 
            close: function(event, ui){ 
                location.reload(true); 
            },
            open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();  }
        }).dialog("open");
        $(".ui-widget-overlay").css({background: "#000", opacity: 0.8});

    $.cookie('showDialog', 'false', { expires: 365 }); // set the cookie, with expiry after 1 day

}

そして私のダイアログコード:

<div id="dialog" class="hidden" title="Welcome to my website">

// Content for dialog
// Content for dialog

</div>

ボタン「閉じる」またはボタンの内容をクリックすると、Cookie が設定され、Cookie が設定されている場合、ダイアログは表示されません。1年の有効期限を追加しました。そのため、Cookie を削除しない限り、今年はダイアログが表示されません。

于 2013-07-01T11:14:44.743 に答える