Откройте fancybox на третьей странице - PullRequest
0 голосов
/ 28 июня 2018

Привет, я использую открывающий fancybox для новых посетителей через 5 секунд. Хотелось бы открыть всплывающее окно не спустя время, а после открытия третьей (например) страницы, которую он посещает. Как я могу это сделать?

Мое решение с тайм-аутом выглядит так:

setTimeout(function () {
  $.fancybox({
    autoSize: false,
    height: 'auto',
    minHeight: 300,
    width: '50%',
    href: '/index/some-page',
    type: 'iframe',
    afterLoad: function (current) {
      current.content.contents().find('.not-interest').click(function (e) {
        e.preventDefault();
        Cookies.set('not-interest', true, {expires: 14});
        $.fancybox.close();
      });
      current.content.contents().find('.some-form').submit(function () {
        var today = new Date();
        var date = new Date('Jan 1, 2038');
        var oneDay = 24 * 60 * 60 * 1000;
        var diffDays = Math.abs((date.getTime() - today.getTime()) / oneDay);
        Cookies.set('interest', true, {expires: diffDays});
      });
    },
    beforeClose: function () {
      Cookies.set('close', true, {expires: 14});
    }
  });
}, 5000);

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

...