JQuery с использованием куки - PullRequest
0 голосов
/ 18 марта 2010

в моем js-файле я хочу иметь возможность загружать "заставку" в новое приложение, которое я разрабатываю. В настоящее время, когда я вызываю заставку, он открывается и закрывается нормально, но когда я делаю это, он устанавливает cookie, он вообще не запускается. Пожалуйста, помогите ...

    cookieSplash();

function cookieSplash(){
    var cookieSplash = $.cookie('loadSplash');
    if (cookieSplash == "true") {
        splash();
    };
    if (cookieSplash == "false") {
        loadApplication();
    };
}
function splash(){
    $("#viewport").append('<div id="splash"><img id="splash-close" src="/images/splash-logo.png" alt="click to close"></div>');
    $("#splash").click(function() {
        // Act on the event
        $("#splash").fadeOut("slow");
        $("#jettison").fadeIn("fast");
        $.cookie("loadSplash", "false");
    });
}
function loadApplication(){
    $("#jettison").fadeIn("fast");
}

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

Ответы [ 3 ]

0 голосов
/ 18 марта 2010

Согласно демонстрационной странице для файлов cookie jQuery , вы неправильно настроили свой файл cookie. Используйте этот пример синтаксиса:

Для установки:

$.cookie("MySplashCookie", true, { expires: 10 })

Читать:

$.cookie("MySplashCookie")

Примечание:

"true" != true
"false" != false

убедитесь, что вы также сохраняете правильные типы.

0 голосов
/ 18 марта 2010

Эта первая функция должна отличаться. Неустановленный файл cookie не приведет к значениям типа «истина» или «ложь» (которые, как заметил @rochal, являются строками, а не логическими значениями), он будет нулевым. Кроме того, если ваш файл cookie отслеживает необходимость показа заставки, как он вообще будет иметь какое-либо значение?

function cookieSplash(){
  var cookieSplash = $.cookie('loadSplash');
  if (cookieSplash)
      splash();
  else
      loadApplication();
}

function splash() {
  $("#viewport").append('<div id="splash"><img id="splash-close" src="/images/splash-logo.png" alt="click to close"></div>');
  $("#splash").click(function() {
      // Act on the event
      $("#splash").fadeOut("slow");
      $("#jettison").fadeIn("fast");
      $.cookie("loadSplash", "done");
  });
}
0 голосов
/ 18 марта 2010

Убедитесь, что вы включили jquery_cookie.js. Если да, то я предлагаю использовать Firefox / Firebug и проверить консоль на наличие ошибок JavaScript.

...