NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
maxy obr
Člen
Avatar
maxy obr:23.5.2016 13:03

Zdravím, snažím se zprovoznit notifikace v prohlížeči vytvořit samotnou notifikaci je celkem primitivní viz:

                 var notification = new Notification(
  "nová zpráva",
  {
    body: "Lorem ipsum",
    icon: "http://example.org/nejakaikona.png"
  }
);

Ale nevím jak vyvolat dotaz zda notifikace příjmat, myslel jsem, že to prohlížeš udělá automaticky. Ale třeba v chromu se zablokují a bez povolení (které se nezobrazí) to nefunguje. Ve fireroxu se také hláška nezobrazí ale tam zase upozornění přijdou i tak. Vím, že u ostatních vebů se ukáže ten zvoneček s hláškou o povolení. Budu rád za objasnění.

 
Odpovědět
23.5.2016 13:03
Avatar
Neaktivní uživatel:23.5.2016 13:20
Notification.requestPermission();

To mas tak ... spravne by to melo byt implementovany tak, ze dokud nemas persmisson, tak se ti nic nezobrazi ... jestli pri pokusu zobrazit notif bez permisnu ti browser zobrazi nejdriv ten pozadavek, nebo ti to forbidne .... asi zalezi na implementaci browseru ...jak je to ve specifikaci po pravde nevim... kazdopadne ... ta metoda requestPermission() bere i funkci jako parametr, ve ktery muzes treba tu notifikaci vytvorit ... samozrejme nemusis ... a muzes si o ten permission jen rict...

s notifikacema je to ale jeste komplikovanejsi ... to jednoduche API, ktere je opravdu dost jednoduche, je momentalne implementovane radou browseru... tady ale je ta komplikace... implementuje ho pokud vim firefox (castecne) ... respektuje specifikaci a dodrzuje ji... ve Chromu (rozsahla podpora, kdyz na to prijde) si rekli, ze sice nekde v nekterych verzich budou implementovat, ale v jinych verzich uz ne, protoze radsi slouci tohle a ty druhy notifikace (ty na pozadi ze serveru pomoci workeru) je to od nich docela podraz, v nekterych verzich mobilniho chromu uz tohle nefunguje ... coz je fakt protivny ... existuje rada knihoven, co ti osetri notifikace vsude, jak to jen pujde, ale nezkousel jsem zadnou do hloubky...

pripravuju clanek a mozna i nejakej navod, jak si takovouhle miniknihovnu na notifikace napsat... mozna jen samotnou knihovnicku ...jeste nevim ... tobe uz tim asi nepomuzu, ale doufam, ze moje odpoved alespon castecne pokryla tvoje otazky

edit: jeste jsem chtel dodat, ze kazdej browser si to implementuje trochu po svem...treba cas zobrazeni notifu a tak

Editováno 23.5.2016 13:22
Nahoru Odpovědět
23.5.2016 13:20
Neaktivní uživatelský účet
Avatar
maxy obr
Člen
Avatar
Odpovídá na Neaktivní uživatel
maxy obr:23.5.2016 13:42

Chápu to tedy správně, že by stačilo toto

Notification.requestPermission();
var notification = new Notification(
  "nová zpráva",
  {
    body: "Lorem ipsum",
    icon: "http://example.org/nejakaikona.png"
  }
);

Protože to jsem zkoušel a žádná hláška nevyskočí. No tak v průběhu psaní jsem to vyřešil bylo to tím, že soubor nebyl na serveru ale jen local HTML soubor. Nechápu jaký to má vliv pokud jde o api prohlížeče ale budiž. :)

 
Nahoru Odpovědět
23.5.2016 13:42
Avatar
Odpovídá na maxy obr
Neaktivní uživatel:23.5.2016 15:20

Dodam, ze takhle to neni spravne... takhle delas to, ze pozadas o povoleni a bez ohledu na vysledek se pokusis zobrazit notif... musis bud pozadat o permission pri nacteni stranky... a pak pri kazde notifikaci se ujistit, ze ti bylo dovoleno :

if (Notification.permission === "granted") {
// udelej notif
}

a nebo ... a to bych uprednostnoval, pokud to jde samozrejme, pozadat az tehdy, kdyz budes chtit zobrazit prvni notif ... pak muzes rovnou dat jako parametr funkci, ktera tu notifikaci zobrazi, pokud jsou povoleny ... samozrejme pak dal se to chce znova a znova ujistovat, ze jsou povoleny, nez ji zobrazis.. nebo si to ulozit do nejakyho vnitrniho stavu aplikace ... to uz je na tobe... moje poznamka zni... takhle se pokousis zobrazit notif i pokud request byl zamitnut ...

Nahoru Odpovědět
23.5.2016 15:20
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.