ugrás a tartalomhoz

Asztali értesítések

Joó Ádám · 2010. Ápr. 28. (Sze), 20.25

Alert? Pop-up ablak? Layer? Title villogtatás? Te hogyan jelzel a felhasználónak? WebKit alatt mostantól hagyományos asztali értesítést is használhatunk.

A Chrome új fejlesztése lehetővé teszi, hogy – a geolocationhöz hasonlóan – a felhasználó engedélyét kérjük, s ha megkaptuk, akkor az asztalihoz hasonló, aktív laptól független értesítéseket jelentessünk meg a böngészőablakban.


if (window.webkitNotifications) {
    document.getElementById('notify').onclick = function() {
        if (window.webkitNotifications.checkPermission() == 0) {
            var notification = window.webkitNotifications.createNotification('icon.png', 'Cím', 'Szöveg');
            
            notification.ondisplay = function () { ... };
            notification.onclose   = function () { ... };
            notification.onerror   = function () { ... };

            setTimeout(function () {
                notification.cancel();
            }, '5000');

            notification.show();
        } else {
            window.webkitNotifications.requestPermission();
        }
    }
}

A fenti kód, amennyiben a funkcionalitás elérhető, a felhasználó engedélyét kéri az értesítések megjelenítéséhez, és amennyiben megkapta, létrehoz egyet. Itt sima szöveges értesítőt készítünk, azonban lehetőség van HTML tartalom elhelyezésére is. Rendelkezésünkre áll három esemény az ondisplay, onclose és onerror képében, illetve illendő beállítani egy időtartamot, ami után eltüntetjük az értesítőnket.

Fontos megjegyezni, hogy engedélyt kérni csak a felhasználó által kiváltott eseményre válaszul tudunk, elkerülve ezzel a zaklató kuncsorgást, ezen felül ha a felhasználó egyszer megtagadta tőlünk az engedélyt, onnantól hiába is próbálkozunk, nem fog többet megjelenni az infósáv.

A szabványterv nem definiálja pontosan, mit is ért asztali értesítés alatt; a Chrome jelenleg a böngészőablakban jeleníti meg az üzeneteket, idővel azonban minden bizonnyal elérhető lesz az operációs rendszer értesítési rendszere is.

Mit gondoltok róla? Kipróbáljátok valahol? Milyen területen integrálnátok még a böngészőt az asztalba, milyen eszközhöz szeretnétek még hozzáférést?

 
1

ohh már alig várom a buffer

Crystal · 2010. Ápr. 28. (Sze), 21.31
ohh már alig várom a buffer overflow exploitokat :P
2

gmail

Ustak · 2010. Ápr. 28. (Sze), 22.34
én például teljesen el tudnék képzelni egy gmailos "üzenete jött villogó valami képet" az ubuntumon a jobb felső sarokba az értesítési ikonokhoz, így mikor nem a böngésző vagy nem az a lap van előtérbe, felhívná a figyelmemet hogy valaki írt, stb.
Szerintem ez jó ötlet (hogy Chrome felhasználóknak lesz csak az már nem ilyen jó ötlet, valamint hogy minimum 3 másik böngészővel mennyire lesz kompatibilis abba bele sem gondolok)
(Természetesen az IE nem tartozik a 3 másik böngészőbe, TUDOM hogy ott nem lesz ilyen implementálva :-))
Egyébként ha jól tudom a pidgimet be lehet gmailra konfigurálni, még nem próbáltam, most msnre van konfigurálva, lehet e több példányt futtatni így még azt sem próbáltam.
3

Ez kicsit olyan, mint amikor

kmARC · 2010. Ápr. 29. (Cs), 00.03
Ez kicsit olyan, mint amikor valaki szép lassan teljes jogú taggá válik egy közösségben.

A Chrome egyszercsak megjelent, szépen lassan utolérte szolgáltatásaiban a többieket azzal, hogy lemásolta funkcionalitásukat, most pedig ő diktál: új fícsöröket vezet be, amelyeket a verseny miatt kénytelen lesz a többi böngésző is interpretálni. Bár én magam nem használok Chrome-ot, mégis örülök, mert ugye ezzel a böngészők közötti versenyt élénkíti, fejlesztésre ösztönzi a többi "gyártót" a Google.

Emellett tulajdoképpen ez is része lehet annak az irányvonalnak, hogy a böngésző képes legyen helyetesíteni akár a teljes desktopot (ahogy azt a sejtelmes Google OS kapsán sokan várják).
4

Nekem csak az ezzel a

deejayy · 2010. Ápr. 29. (Cs), 06.07
Nekem csak az ezzel a problémám, hogy igen nagy blama lenne minden más böngészőbe implementálni egy webkit* nevű eljárást. Jönnek majd a trükközések, hogy

if (window.webkitNotifications) {
} else if (window.standartNotifications) {
} else if (window.taskbarNotifications) {
} else if ...

Ha ki akarnak cseszni a fejlesztőkkel, akkor még az eljárásneveket is megváltoztatják.

Igazából ez a legnagyobb problémám (és szerintem nem csak nekem) a -moz- meg -webkit- előtagokkal. Szinte már megjelenésekor halálra van ítélve, ilyen sosem lesz (vagy lehetne) a szabványban, ergo bevezetni és használni legfeljebb csak "látjátok ilyet is lehetne, de csak a felhasználók fele látná, helo".
5

+1

zzrek · 2010. Ápr. 29. (Cs), 08.38
Hát nekem is az agyamra megy.
6

window.notifications

Joó Ádám · 2010. Ápr. 29. (Cs), 15.09
Természetesen az elképzelés az, hogy egy esetleges szabványosítás után window.notification néven legyen elérhető.
7

Innentől csak az APInak kellene egyezni

Poetro · 2010. Ápr. 29. (Cs), 19.09
// Innentől csak az APInak kellene egyezni.
window.notifications = window.notifications ||
                       window.webkitNotifications || 
                       window.standardNotifications || 
                       window.taskbarNotifications;
8

így helyes

Bártházi András · 2010. Ápr. 30. (P), 09.08
Pedig ezt így kell csinálni, amint az látható például a webkit CSS gradiens megvalósítása kapcsán is. Nem szabványos dolgokat prefix-szel. A standard dolgoknak pedig nincsen prefixe, azok viszont garantáltan a standard szerint vannak implementálva, és erre stabilan építhet a fejlesztő. Lehet, hogy ez így nem tűnik kényelmesnek, vagy a valóságban is sok kényelmetlenséget okoz, de sokkal-sokkal-sokkal jobb, mint ha azt kéne detektálgatni, hogy az aktuális böngésző vajon melyik, és ezen belül milyen változatot támogat, majd így lekezelni a kivételeket. Emiatt a káosz miatt volt rémálom a webfejlesztés - s szerencsére a detektálásokkal már csak alig-alig kell foglalkoznunk manapság.
12

Rendben, de ha egy ilyen

deejayy · 2010. Május. 2. (V), 19.48
Rendben, de ha egy ilyen nem-szabványos propertyt használsz, akkor arra nem építhetsz stabilan, ergo böngészőként különbözni fog a kinézet. Ez kinek hiányzik? Ráadásul, amikor mondjuk szabványosítják, akkor lehet átnézni, hogy hol használtad, mire, hogyan változott (mert nem biztos, hogy egy böngésző megvalósítását veszik szabványnak).
10

wrapper

Crystal · 2010. Ápr. 30. (P), 11.09
ha esetleg nagyon nem lenne szabványos, akkor úgyis lesz hozzá wrapper api a js frameworkökben :) ami persze nem olyan jó mintha a browserekben ugyanolyan lenne az api, de azért elfogadható megoldás
9

Callout

Bártházi András · 2010. Ápr. 30. (P), 09.10
Témába vág a magyar fejlesztésű Callout:
https://addons.mozilla.org/en-US/firefox/addon/7458
11

Lehet implementálni

Joó Ádám · 2010. Ápr. 30. (P), 18.55
LacKac már implementálhatja is a kiegészítőjébe az új API-t ;)