Distribuiţi
 

 [BETA] Notificari in browser

Vezi subiectul anterior Vezi subiectul urmator In jos 
AutorMesaj
mihai
avatar
masculin
Subiecte : 22
Puncte : 60
Varsta : 26
Localizare : H4CKER ROMÂNIA
[BETA] Notificari in browser Empty
MesajSubiect: [BETA] Notificari in browser   [BETA] Notificari in browser EmptyMar Mai 16, 2017 8:43 pm

Salutare tuturor,

In aceasta dupa-amiaza am realizat un cod pentru afisarea notificarilor in browser.

Demonstratie


[BETA] Notificari in browser Screen10

Instalare


Pentru instalarea acestei caracteristici intrati in:
Panou > Module > HTML & JAVASCRIPT > Gestiunea codurilor javascript > Creati un nou cod JavaScript

Completati 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.

[BETA] Notificari in browser Te10

Codul este inca in faza de dezvoltare, in caz de functionare necorespunzatoare postati aici. 🇲🇲
Sus In jos
http://https://h4cker.all-up.com
 

[BETA] Notificari in browser

Vezi subiectul anterior Vezi subiectul urmator Sus 
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Comunitatea H4CKER.COM :: H4CKER.COM | Web :: Dezvoltare Web :: Scripturi-