2012-05-10 2 views
1

Я успешно добавил всплывающее всплывающее окно на моей домашней странице с помощью bpopup.JQuery на первой странице первого посещения

Он отлично работает, но работает только при нажатии кнопки. Я хочу, чтобы всплывающее окно отображалось на домашней странице и только на домашней странице, когда пользователь впервые посещает сайт.

код я имею:

<script> 
    // Semicolon (;) to ensure closing of earlier scripting 
    // Encapsulation 
    // $ is assigned to jQuery 
    ;(function($) { 

     // DOM Ready 
     $(function() { 

      // Binding a click event 
      // From jQuery v.1.7.0 use .on() instead of .bind() 
      $('button').bind('click', function(e) { 

       // Prevents the default action to be triggered. 
       e.preventDefault(); 

       // Triggering bPopup when click event is fired 
       $('#announce').bPopup(); 

      }); 

     }); 

    })(jQuery); 
</script> 

Это прекрасно работает, но как я добавить обработчик связанных печенье к нему?

Заранее благодарим за любую помощь. Его действительно оценили.

ответ

0

От quirksmode:

function createCookie(name,value,days) { 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 

Вы хотите что-то вроде:

createCookie("visited", "true", 90); 

, а затем просто проверить, если что печенье устанавливается с помощью readCookie().

+0

Спасибо за это. V полезно. – user1386796

0

Cookie Plugin: https://github.com/carhartl/jquery-cookie

$.cookie("test", 1);//setting a cookie 
$.cookie("test", null);//deleting a cookie 
$.cookie("test", 1, { expires : 10 });//setting cookie with time out 

При загрузке страницы проверяет значение куки как

var showDialog=$.cookie("test"); 
if(showDialog==1) 
//showDialog 
+0

Конечно, для этого нужен плагин для печенья. – karim79

+0

отредактировал ответ –

+0

Спасибо за это. Очень полезно! – user1386796

0

Вы можете использовать этот Cookie pluign добавить условия в свой код, чтобы проверить, если печенье уже существует , Нравится это

if($.cookie('first_visit') != '0'){ 
    //Show modal as Cookie is not set 
    $('#announce').bPopup(); 
    // now set cookie 
    $.cookie('first_visit', '0'); 
} 
+0

Спасибо, ребята. Отлично. – user1386796

+0

Как сделать всплывающее окно автоматически, а не при нажатии кнопки? – user1386796

+0

Используйте блок кода $ ('# announce'). BPopup(); внутри $ (document) .ready(), а не внутри функции обработчика кликов. В этом случае он срабатывает сразу после того, как дом готов и не будет ждать нажатия. :) –