1

Web サイト全体で Colorbox モーダル ポップアップを使用していますが、次の条件が満たされている場合は表示されないようにしたいと考えています。

  1. モーダルが過去 15 日間に 1 回表示されているか、
  2. 訪問者は特定のページからウェブサイトに入り、
  3. 訪問者は、特定のページを表示した後、サイトの他のページにアクセスします

次のコードは、IE8 と 9 以外のすべてでテストしたところ、問題なく動作するようです。モーダルを IE で 1 回開くことはできますが、キャッシュ/Cookie をクリアしてブラウザを再起動しても、モーダルを開くことはできません。コンソールにエラーは表示されません。誰でも私を助けることができますか?

私の考えは、指定された DIV がページに存在する場合、または DIV でそのページを既に表示している場合を除き、誰かがサイトにアクセスしたときにモーダルを表示することです。

助けてくれてありがとう。

            <script type="text/javascript">
            var jQuery_1_8_3 = jQuery.noConflict(true);
            jQuery_1_8_3(document).ready(function(){
                    var emailFormExists = jQuery_1_8_3('#e2ma_signup_form');
                    if (document.cookie.indexOf('visited=true') == -1 && !(emailFormExists.length)){
                        var fifteenDays = 1000*60*60*24*15;
                        var expires = new Date((new Date()).valueOf() + fifteenDays);
                        document.cookie = "visited=true;expires=" + expires.toUTCString();
                        jQuery_1_8_3.colorbox({width:"30%", inline:true, href:"#email"});
                    }
                    else
                    {
                    jQuery_1_8_3('#e2ma_signup_form').length
                        var fifteenDays = 1000*60*60*24*15;
                        var expires = new Date((new Date()).valueOf() + fifteenDays);
                        document.cookie = "visited=true;expires=" + expires.toUTCString();  
                    }
                });
            </script>   
4

1 に答える 1

1

問題が何であるかを突き止めました.IEには、「閲覧履歴の削除」メニューの上部に「お気に入りのWebサイトデータを保持する」という設定があります。このボックスはチェックされており、ウィンドウを引き上げたときに、他のすべてを読まずに Cookie オプションがチェックされていることを確認するためにすばやくスキャンしました。

テスト時に開発者ツールの Cache > Clear Cookies For Domain オプションを使用して Cookie をクリアしていましたが、そのオプションが閲覧履歴メニューでチェックされていて、テストしているページがブックマークされているため、機能していないと思います私のお気に入りに。

前にそれを理解していなかったバカのように感じますが、おそらく私だけではなく、これは将来誰かを助けることができます.

于 2013-02-07T14:35:20.107 に答える