Показывать окно jQmodal только в первый раз - PullRequest
0 голосов
/ 15 июня 2011

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

Но проблема заключается в каждом всплывающем окне обновления страницы.

Вот мой код http://jsbin.com/atoqe5/3/edit

Я думаю, что это можно сделать с помощью Cookies, но не так много идей, как это использовать. (

Спасибо!

Ответы [ 2 ]

1 голос
/ 15 июня 2011

Вы можете установить cookie с помощью JavaScript и установить его в true при первом его открытии.

Это всего лишь вспомогательные функции для установки и получения значений cookie, дополнительная информация о настройке и получениизначения cookie .

function setCookie(name, value, daysToLive) {
    var expirationDate = new Date();
    expirationDate.setDate(expirationDate.getDate() + daysToLive);
    document.cookie = name + '=' + escape(value) + ((daysToLive == null) ? '' : '; expires=' + expirationDate.toUTCString());
}

function getCookie(name) {
    var cookies=document.cookie.split(';');
    for (var i = 0; i < cookies.length; i++) {
        if (cookies[i].substr(0, cookies[i].indexOf('=')).replace(/^\s+|\s+$/g, '') == name) {
            return unescape(cookies[i].substr(cookies[i].indexOf('=') + 1));
        }
    }
}

Предотвратить модальное открытие, если установлено значение:

$(function() {
    if (!getCookie('modalOpened')) {
        // Put your code to open the model here...

        // Set value to true to prevent the modal from opening again 
        setCookie('modalOpened', true);
    }
});
0 голосов
/ 15 июня 2011

Если вы используете php, вы можете сделать что-то вроде этого: поставить на каждой странице первую строку

<?php session_start(); ?>

и на вашей домашней странице

<?php session_start();
  if( $_SESSION['visited'] ){
      //don't show the modal box
  } else {
      $_SESSION['visited'] = true;
     //show modal box;
  }
?>

Этот код проверяет, еслипосетив страницу в этом сеансе, если вы не показываете модальное поле, то установите глобальную переменную сеанса $_SESSION['visited'] в true, чтобы вы могли быть уверены, что пользователь уже посетил страницу :) надеюсь, это помогло

...