mihai Subiecte : 22 Puncte : 60 Varsta : 26 Localizare : H4CKER ROMÂNIA | Subiect: [BETA] Notificari in browser Mar Mai 16, 2017 8:43 pm | |
| Salutare tuturor, In aceasta dupa-amiaza am realizat un cod pentru afisarea notificarilor in browser. DemonstratieInstalarePentru instalarea acestei caracteristici intrati in: Panou > Module > HTML & JAVASCRIPT > Gestiunea codurilor javascript > Creati un nou cod JavaScriptCompletati rubricile cu:
- Titlu: Notificari in browser
- Amplasare: Toate paginile
- Cod:
- Cod:
-
function compareDate(from, to, check) { var fDate = Date.parse(from), lDate = Date.parse(to), cDate = Date.parse(check);
if ((cDate <= lDate && cDate >= fDate)) { return true; } return false; }
function addDays(theDate, days) { return new Date(theDate.getTime() + days * 24 * 60 * 60 * 1000); }
function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; }
function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; }
document.addEventListener('DOMContentLoaded', function() { if (Notification.permission !== "granted") Notification.requestPermission(); });
function ChromeNotif() { if (!Notification) { return; }
if (Notification.permission !== "granted") { Notification.requestPermission(); } else if (navigator.cookieEnabled === true) { console.log("[CONSOLE] Google Notifications working"); var notif_icon = "http://2img.net/r/frmste/images/sigle.png"; var forums = [6, 4, 5, 16]; var limit = 4;
var text = function(cont, tag) { tag = cont.getElementsByTagName(tag)[0]; return (tag && tag.firstChild && tag.firstChild.nodeValue) || ''; }; for (var j = 0, f; (f = forums[j++]);) { $.get('/feed/?f=' + f, function(xml) { var topics = xml.getElementsByTagName('item'), i = 0, t = null;
for (; (t = topics[i++]);) {
var topic_date = new Date(text(t, 'pubDate'));
if (compareDate(addDays(new Date(), -1), addDays(new Date(), +1), topic_date)) { var topic_link = text(t, 'link'), topic_title = text(t, 'title'), topic_desc = text(t, 'description'); if (getCookie("notif_" + topic_title + "") != topic_link) {
var notification = new Notification(topic_title, { icon: notif_icon, body: topic_desc.replace(/\n/g, ' ') });
notification.onclick = function() { window.open(topic_link); };
setCookie("notif_" + topic_title + "", topic_link, 30); }
}
if (i >= limit) break; } }); }
} }
jQuery(function($) { ChromeNotif(); });
window.setInterval(function() { ChromeNotif(); }, 60000);
Personalizarea notificarilor din cod: var forums = [6, 4, 5, 16]; Inlocuiti sirul de numere din acea linie cu ID-urile sectiuniilor dorite. var limit = 4;Inlocuiti acea valoare cu numarul de notificari de afisat in acelasi timp. var notif_icon = "https://2img.net/r/frmste/images/sigle.png";Inlocuiti acea imagine cu sigla dorita. Dupa efectuarea modificarlor dorite validati formularul. De retinut faptul ca aceste notificari nu vor fi vizibile tuturor. Fiecare utilizator va fi intrebat in momentul in care acceseaza forumul daca doreste sau nu afisarea notificarilor. Codul este inca in faza de dezvoltare, in caz de functionare necorespunzatoare postati aici. |
|