Webkit Notification API для новых сообщений на форуме (в процессе)

Автор crazyASD, 12 марта 2016, 00:34:10

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

crazyASD

Всплывающие уведомления на Webkit Notification API для новых сообщений на форуме:

Нам понадобится установить мод Count unread replies on index
Count_unread_replies_on_index_rc4_rus.zip
Затем после вызова Jquery добавляем:

if ($context['user']['is_logged'])
{
echo'<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.notification/1.0.2/jquery.notification.min.js"></script>';
}

И внизу страницы:
if ($context['user']['is_logged'] && $context['user']['unread_topics'] > 0)
{
echo'
<script type="text/javascript">
$.notification.requestPermission(function () {
console.log($.notification.permissionLevel());
});
var notification = new window.Notification("Непрочитанные сообщения",
{
body: "На форуме '. sprintf($txt['unread_since_visit2'],!empty($context['user']['unread_topics']) ? $context['user']['unread_topics'] : 0).' новых сообщений.",
icon: "', $scripturl, 'favicon.ico",
timeout: 3000
});

notification.onclick = function (e) {
window.open("', $scripturl, '?action=unread;all;");
}
</script>';
}
if ($context['user']['is_logged'] && $context['user']['unread_messages'] > 0)
{
echo'
<script type="text/javascript">
var notification = new window.Notification("Личные сообщения",
{
body: "', $txt['you_have'], ' ', comma_format($context['user']['unread_messages']), ' ', $txt['msg_alert_messages'],'",
icon: "', $scripturl, 'favicon.ico",
timeout: 3000
});

notification.onclick = function (e) {
window.open("', $scripturl, '?action=pm");
}
</script>';
}
!!!РАЗРАБОТКА!!!
Уведомления всплывают при их налчии, при каждой загрузке страницы, и это не есть хорошо, нужна помощь в написании процедуры, которая будет динамически проверять количество непрочитанных сообщений, и запускать уведомление через заданный промежуток времени, у меня не хватает навыков это сделать.
Сон разума порождает монстров
Wordpress - рулит!  SMF 2.0.11