Только одно всплывающее окно за посещение ... Помогите мне - PullRequest
1 голос
/ 24 июня 2010

У меня есть сайт, использующий эффект всплывающего окна javascript, такой как:

<script type="text/javascript">
     var GB_ROOT_DIR = "greybox/";
</script>
<script src="greybox/AJS.js" type="text/javascript"></script>
<script src="greybox/AJS_fx.js" type="text/javascript"></script>
<script src="greybox/gb_scripts.js" type="text/javascript"></script>
<link href="greybox/gb_styles.css" type="text/css" rel="stylesheet">
<script language="JAVASCRIPT">

function loadWindow(){
  GB_showCenter('Free Report!', 'http://www.signupformlocation.com/popup/signup.php', 420, 570);
}

window.onload = loadWindow;

     </script>

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

Пожалуйста, помогите мне

Ответы [ 2 ]

4 голосов
/ 24 июня 2010

вы можете использовать куки и jquery

<script src="js/jquery.cookie.js" type="text/javascript"></script>
<script>
function loadWindow() {
    if ($.cookie('popup_flag') != 'true') {
        GB_showCenter('Free Report!', 'http://www.signupformlocation.com/popup/signup.php', 420, 570);
        $.cookie('popup_flag', 'true');
    }
}
</script>
0 голосов
/ 24 июня 2010

Лично я бы пошел с JStorage, его плагин HTML5 jQuery использует локальное хранилище в большинстве популярных браузеров.

Пример:

var loadWindows = function()
{
    if(!$.jSotreage.get('welcome_flag'))
    {
        GB_ShowCentre('Free Support!') // Blah
        $.jStorage.set('welcome_flag',true);
    }
}

Использует JSON Для сериализации всех данныхв локальном хранилище: -

jStorage: http://plugins.jquery.com/project/jStorage

Draft: http://dev.w3.org/html5/webstorage/

Без jQuery: Хранение объектов в HTML5 localStorage

Вы можете хранить около 5 МБ на домен, так что это будет полезно и должно взять на себя использование файлов cookie в среде javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...