Autor Zpráva
Str4wberry
Profil
Současné verse prohlížečů (Explorer, Opera, Chrome, Firefox) podporují jakési „připnutí záložky“, kdy se zpravidla z původní záložky stane jen malá ikonka. Co je cílem? Viz název tématu — nějak aktivovat upozornění na tuto záložku/ikonku, aby uživatel, prohlížející jinou záložku, zjistil, že se na dané stránce stalo něco nového.

Opera


Záložka se změnou má ohnutý roh, mimochodem, funguje i bez připnutí, resp. v Opeře zamčení listu

Chrome


Záložka se změnou lehce pulsuje (špatně viditelně)

Firefox



Explorer


Upozornění na liště Windows při připnutí aplikace


Vyrobil jsem si pokusnou stránku s různými postupy vedoucími k upozornění. V Chromu a Firefoxu se požadovaného cíle dosáhne při změně document.title, v Opeře zabralo až pingnutí (např. (new Image).src = window.location + "?rnd=" + Math.random()) a v Exploreru lze například rozblikat panel pomocí window.external.msSiteModeActivate(). Nějaká malá změna HTML nebo i zobrazení grafického upozornění nemá smysl nikde.

Zkoušel jste někdo vytvářet podobná upozornění? Znáte nějakou elegantnější možnost, jak změnu stavu nastavovat?
Witiko
Profil
Str4wberry:
Vzpomínám si, že jsem před časem viděl UserScript, který měnil favicon na facebooku tak, aby reflektoval počet nových upozornění. Autor si vytvořil canvas, do něj pak novou ikonu i s číslem vykreslil, canvas si vyexportoval do png datové URI a tu pak přiřadil meta tagu pro favicon. Poměrně mazané řešení. Pro svůj účel bys mohl mít už data URI předpřipravené, což odstraňuje nutnost podpory canvasu. Otázka je, jak se k překreslení favicony z data URI za běhu postaví různé prohlížeče.
Str4wberry
Profil
Pravda, vlastně dokonce jeden takový skript používám. Měnit ikonku může být taktéž cesta. Přidal jsem tuto možnost do pokusné stránky. Změnou hrefu se změny docílilo jen v Opeře a Chromu. Pokud jsem vytvořil nový <link>, tak to funguje i ve Firefoxu. Nicméně Explorer nic a co jsem zkoušel hledat na jiných diskusích, tak se zdá být v tomto ohledu problematický.
Witiko
Profil
Str4wberry:
Co takhle zařadit i naprosto fousatě trapný focus()? :-)
peta
Profil
FB zpravy dela tak, ze pres casovas preblikava window.title se jmenem clovek, ktery napsal posledni zpravu. Coz mi prijde jako velice sikovne a jednoduche reseni.
_es
Profil
Str4wberry:
Vytvoriť možnosť „nenápadná změna <body>“ pomocou document.body.innerHTML+= "&nbsp;"; nie je dobrý nápad.
Str4wberry
Profil
Čemu nastavit focus()?

Jinak třeba u FB je minimálně v Opeře (jinde nemám odzkoušeno) problém, že upozorňuje na změnu stavu (ohnutý roh záložky), i když se nic významného nezmění.

Co se týče nenápadné změny HTML kódu, tak to nie je dobrý nápad, protože to nikde nefunguje požadovaným způsobem, kdyby ano, tak by to bylo vhodnější než třeba to pingnutí nějaké stránky, co z mých testů jediné ohne roh záložky v Opeře.
_es
Profil
Str4wberry:
Čemu nastavit focus()?
Asi myslel celému oknu:
window.focus()

Mohlo by sa ešte vyskúšať načítanie niečoho do iframe na stránke.

protože to nikde nefunguje požadovaným způsobem
Ak by aj fungovalo, tak je lepšie: document.body.appendChild(nejakýElement)
__construct
Profil
Str4wberry:
Skúsil som zmenu hashu – funguje v Opere. Chrome a FF nereagujú, IE9 nemám ako odskúšať.
Str4wberry
Profil
Zkusil jsem ten window.focus() (nefungovalo mi nikde), neviditelný <iframe> (předpokládám, že by zafungovalo cokoliv se změnou src) i změnu location.hashe — fungují pouze v Opeře.
Witiko
Profil
Str4wberry:
Je to možná trochu mimo téma, ale možná by ses chtěl podívat na HTML5 a Google Gears notification API. Jinak ten focus() se pořád hodí, pokud má návštěvník záložku otevřenou, ale má okno prohlížeče minimalizované. Ve firefoxu i MSIE to přepne focus na okno prohlížeče.
_es
Profil
Str4wberry:
window.focus() (nefungovalo mi nikde)
V prehliadačoch to býva zakázané - no v niektorých sa to dá povoliť, potom však nastane priamo prepnutie do toho okna. Vo FF funguje na prepnutie aj obyčajný alert, alebo spôsobí prepnutie do iného okna načítanie stránky do iframe s http prihlásením, teda: http://meno:heslo@example.com, no to je už trochu drastické riešenie.
Chamurappi
Profil
Reaguji na Str4wberryho:
Zkoušel jste někdo vytvářet podobná upozornění?
Já si poslední dobou dost hrál s tou explorerovskou věcí a zjistil jsem celkem zajímavý jev — připnutý web má ve Windowsu oddělený ovladač hlasitosti. To znamená, že se může víc „rozšoupnout“ v oblasti zvukových upozornění bez obav, že by tím uživatele donutil opustit stránku nebo vypnout reproduktory. Problém je, že uživatelé nejspíš o možnosti ztlumit jen jeden web nebudou mít tušení :-)

Pokud jsem vytvořil nový <link>, tak to funguje i ve Firefoxu. Nicméně Explorer nic
Když jsem kdysi dodělal různobarevné ikony pro český validátor, všiml jsem si, že pokud do jednoho tabu načtu POSTem stránku, která má zelenou ikonu, a do druhého tabu načtu jiným POSTem tutéž adresu, která má červenou ikonu, změní se i ikona prvního tabu na červenou. Důkladněji jsem to netestoval, ale předpokládám, že je ikona spjata s adresou a že bude schopná se změnit, kdykoliv prohlížeč načte stránku se stejnou adresou, ale s jinou ikonou. Možná by šlo udělat stránku, která při GETu bude mít normální obsah a při určitém POSTu vrátí HTML kód s jinou ikonou a uvnitř toho normálního obsahu mít <iframe> a do něj v žádaný okamžik POSTnout. Nechtěl by si to někdo vyzkoušet? :-)


Reaguji na Witika:
možná by ses chtěl podívat na HTML5
Odkázaná funkce souvisí s HTML 5 asi tak stejně jako ty microsofťácké připnuté weby.
Witiko
Profil
Chamurappi:
Odkázaná funkce souvisí s HTML 5 asi tak stejně jako ty microsofťácké připnuté weby.
Skutečně? Já měl za to, že předpona webkit ve jméně konstruktoru uváděného api značí experimentální stav standardizované součásti specifikace HTML5 a W3C mi dává za pravdu.
_es
Profil
Witiko:
značí experimentální stav standardizované součásti specifikace HTML5
Alebo hocijakú neštandardizovanú súčasť.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0