2012-01-20 5 views
0

Чтобы наши посетители обновили свои браузеры, мы используем скрипт Pushup. Если вы не знакомы с этим, вы можете проверить его здесь: http://www.pushuptheweb.comjQuery: модификация скрипта «Pushup»

Однако мы используем портированную версию jQuery этого скрипта.

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

Как вы можете видеть, сценарий имеет в основном два типа сообщений:

  1. "Upgrade" сообщение
  2. "Напомнить позже" сообщение.

Мне нужно добавить 3-е сообщение: A "Не показывать снова" сообщение.

идеи с каждым из сообщений являются:

  • Upgrade сообщения: Имеет нажмите, чтобы загрузить соответствующее обновление браузера (уже с скриптом).
  • Напомнить позже Пошли сообщение сообщение: при нажатии на сообщение уходит время, указанное в скрипте. Если пользователь закрывает свой браузер и открывает его до истечения указанного времени, он не видит сообщение снова. Если он снова откроет свой браузер по прошествии времени, он снова увидит сообщение. Кажется, это контролируется файлом cookie. (Все эти функции уже находятся в скрипте).
  • Не показывать снова сообщение: Это тот, с которым мне нужна помощь. При нажатии на сообщение уходит навсегда. Я предполагаю, что для этого используется файл cookie без даты истечения срока действия или что-то подобное. Сообщение будет отображаться только в том случае, если пользователь удалит свои файлы cookie.

Проект Pushup JQuery можно найти здесь: https://github.com/stuartloxton/jquery-pushup

Я пытался сделать скрипку, чтобы вы могли видеть его, но это не сработало.

Любая помощь очень ценится.

Спасибо!

+0

Я попытался добавить третье сообщение, которое я действительно смог сделать, но кодирование файла cookie и все, что сделал j08691 в своем моду, было тем, что я никогда бы не смог сделать сам. –

ответ

1

Я изменил файл jquery.pushup.js и загрузил его на http://pastebin.com/a4ZU5U5v. Я только что изменил сценарий, чтобы добавить текст «Не показывать снова», который при нажатии на кнопку «cookie» истекает через 14 лет (не стесняйтесь меняться). Сообщите мне, если это не соответствует вашим потребностям.

+0

Эй, j08691, ваше решение было ** точно **, что нам было нужно. Спасибо миллион за вашу помощь. Я изучаю ваши изменения, чтобы узнать, что я могу узнать от них. Хотел бы я дать вам больше очков за предоставление этого прекрасного решения. Еще раз спасибо. –

+0

Добро пожаловать. Рад помочь. – j08691

1

Почему бы не использовать встроенную опцию Pushup.setReminder(hours);?

Установите его для 8760, и ваш пользователь не будет напомнён в течение года.

Вы также можете изменить reminder.message по умолчанию message: 'Remind me again in #{hours}' к чему-то вроде message: 'Don't remind me'

Это избавляет от необходимости изменять свой код на всех.

+0

Хорошие баллы Пол. Я думаю, что с модемом j08691 этот скрипт стал более надежным. Спасибо за вашу помощь. –

+0

Понял. Обязательно не забудьте включить изменения в свой код, если вам (или кому-либо еще в вашей компании) когда-либо приходилось обновлять плагин. – Paul

Смежные вопросы