HTML 5 Notifications API
function notifyMe() { // Давайте проверим, поддерживает ли браузер уведомления if (!("Notification" in window)) { alert("Ваш браузер не поддерживает HTML5 Notifications"); } // Теперь давайте проверим есть ли у нас разрешение для отображения уведомления else if (Notification.permission === "granted") { // Если все в порядке, то создадим уведомление var notification = new Notification('Уведомление HTML5', { lang: 'ru-RU', body: 'Здесь какой-то контент уведомления...', icon: 'http://lorempixel.com/output/sports-q-c-100-100-9.jpg' }); } // В противном случае, мы должны спросить у пользователя разрешение else if (Notification.permission === 'default') { Notification.requestPermission(function (permission) { // Не зависимо от ответа, сохраняем его в настройках if(!('permission' in Notification)) { Notification.permission = permission; } // Если разрешение получено, то создадим уведомление if (permission === "granted") { var notification = new Notification('Уведомление HTML5', { lang: 'ru-RU', body: 'Здесь какой-то контент уведомления...', icon: 'http://lorempixel.com/output/sports-q-c-100-100-9.jpg' }); } }); } } У меня несколько вопросов по данному скрипту может кто знает :) Как сделать чексбокс который будет отвечать за показ уведомлений то есть если поставить галку то уведомления выводятся если снять то не будут. И второй вопрос как использовать несколько уведомлений? то есть чтоб не создавать новую функцию notifyMe2 а, иным способом можно ли? |
Цитата:
alert('Здесь какой-то контент уведомления...'); а то вместо сообщения пользователь будет получать бесполезный алерт. А еще лучше, наверное, вообще алерт не выводить - это раздражает. Сидишь читаешь статью, а тут тебе алерт - бах из свернутого окна! Цитата:
if (document.getElementById('checkboxID').checked == true ) Второй вопрос не понятен. Несколько уведомлений - это как? |
BETEPAH, Спасибо большое будем разбираться)
По поводу второго вопроса - Ну чтоб выводить несколько уведомлений с разным содержимом. То есть вызываю одно уведомление в нем один текст вызываю для другой функции там уже другой текст. Как то так))) |
zoOmer,
текст передавать в аргументах функции function notifyMe(text) |
BETEPAH, хм. Не могли бы вы по подробней рассказать о передаче в функцию?
function notifyMe(text) |
ТС похоже не понял в самом начале. Весь представленный код выполняется после нажатия юзером кнопки\чекбокса "Заколебать меня". Оно отсюдо ва переписано https://developer.mozilla.org/en/doc...I/notification
|
Поэтому и возник такой вот вопрос
Цитата:
Отсюда if (permission === "granted") { оно и начинается - создается апликуха которая будет долбить юзера по поводу. Скорее всего это будет таймер с запросом к серверу - нет ли чем задолбать? |
if (document.getElementById('checkboxID').checked == true )
Не работает этот вариант(( |
Цитата:
|
Цитата:
|
EmperioAf,
/* Создаем уведомления на рабочем столе */ /* --- notify('Заголовок','Текст','Время скрытия','Ссылка на иконку') --- */ function notify(title, body, timeout,icoUrl) { if (document.getElementById('toggle-80').checked == true ) // чекс отключения timeout = (timeout) ? timeout : 3000; Notification.requestPermission(function () { var nf = new Notification(title, { body: body, icon: icoUrl }); nf.onshow = function () { setTimeout(function () { nf.close() }, timeout) }; }); } $(window).blur(function() { windowActive0 = false; }); $(window).focus(function() { windowActive0 = true; }); И чекс. var checked=getcookie("notifymess")==1?"checked":""; document.write('<input type="checkbox" id="toggle-80" class="cmn-toggle cmn-toggle-yes-no" name="notifymess" onclick="if(this.checked) {parent.setcookie(this.name,1)} else {parent.setcookie(this.name,0)}" '+checked+'><label for="toggle-80" data-on="Вкл" data-off="Выкл"></label><p >- Включить оповещения на рабочем столе</p>') |
Ваш пример неполный - если вбить в браузер в ваш код то будет ругаться на функции getcookie и setcookie.
Вот пример показывающий, что if (checkbox.checked == true) работает: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>ГГ</title> <style> * { margin:0; padding: 0; outline: none; } </style> </head> <body> <input type="checkbox"> <input type="text" value="Выключено"> <script> var checkbox = document.querySelector('input[type="checkbox"]'); var text = document.querySelector('input[type="text"]'); checkbox.onchange = function(){ if (checkbox.checked == true) text.value = "Включено"; else text.value = "Выключено"; } </script> </body> </html> |
EmperioAf, Это просто запоминание состояния чекса на куках.
/* Функции чтения Cookie */ function getcookie(key) { str=document.cookie;len=str.length; if(len==0) return ""; start=str.indexOf(key + "="); if(start==-1) return ""; start=start+key.length+1; end=str.indexOf(";",start); if(end==-1) end=len; return unescape(str.substring(start,end)); } /* Функции записи Cookie */ function setcookie(key,str,min) { if(!key) return; if(!min) min=60*24*365; var date = new Date(); date.setTime(date.getTime()+(min*60*1000)); document.cookie = key+"="+str+"; expires="+date.toGMTString()+"; path=/"; } |
Подскажите?
|
Подскажите пожалуйста, а как можно в Body: вставить текст с ссылкой? то есть при нажатии именно на текст, был переход по ссылке.
|
Цитата:
|
ну если сделать так body: "<a href="google.ru">Google</a>", то он не будет парсить то что в кавычках, а просто выведет "<a href="google.ru">Задача</a>".
|
можно же использовать одинарные кавычки и обратные слэши:
"<a href='google.ru'>Задача</a>". |
Ужа нашел в статьях что "Уведомление HTML теги в notification не поддерживает"
Просто думал это как то обойти. И это не помогло obj.innerHTML='<a href="">' |
Часовой пояс GMT +3, время: 09:05. |