Otevírejte např. mailto odkazy v Gmailu a webcal v Kalendáři

Pakliže používáte nějakou webovou aplikaci, např. Gmail, pro práci s maily, jistě jste někdy narazili na problém, že jste chtěli někde kliknout na mailto: odkaz a ono se nic nestalo. Dříve se to řešilo různými prográmy či pluginy do prohlížeče, ale už nějakou dobu umí minimálně Chrome, Mozila a Opera automaticky zaregistrovat libovolnou stránku k libovolnému…

Uveřejněno

Autor

Značky:

Pakliže používáte nějakou webovou aplikaci, např. Gmail, pro práci s maily, jistě jste někdy narazili na problém, že jste chtěli někde kliknout na mailto: odkaz a ono se nic nestalo.

Dříve se to řešilo různými prográmy či pluginy do prohlížeče, ale už nějakou dobu umí minimálně Chrome, Mozila a Opera automaticky zaregistrovat libovolnou stránku k libovolnému URI schématu (i vlastnímu).

Chrome vám to v případě Gmailu i tuším jednou vyloženě nabídne, ale když to přehlédnete, tak už na to nemusíte narazit. Přitom je to velmi jednoduché – stačí si všimnout nenápadné ikonky vpravo v URL liště, která se tam objeví vždy, když mají stránky nějaký takový link handler k dispozici. Stačí pak kliknout, zvolit Povolit a potvrdit a služba je s příslušným handlerem spárovaná.

Podobně to umí i v Kalendáři se standardními webcal odkazy. We Windows 10 na vás možná vyskočí hláška, že je třeba to změnit v System / Default Apps / Choose default program by protocol (přiřadíte tam Chrome).

Jestli chcete prověřit současné přiřazení, či jej chcete smazat, navštivte stránku chrome://settings/handlers. (jak je to v jiných prohlížečích si vygůglete sami).

Zajímá-li vás, jak se může nějaká stránka přihlásit k nějakému takovému handleru, protože byste to chtěli třeba nějak užitečně využít ve vaší webové aplikaci, pak vězte, že je to strašně jednoduché – stačí jeden řádek a funkce registerProtocolHandler.

Např. kdyby Seznam chtěl zaregistrovat, aby jste po zadání kliknutí na odkaz s URI hledej:nějaká+fráze skočili na jeho vyhledavač, stačilo by, aby kamkoliv přidal následující skript

<script type="text/javascript">
 navigator.registerProtocolHandler("hledej",
 "http://search.seznam.cz/?q=%s",
 "Hledej na Seznamu");
</script>

Ten zajistí, že se v URI objeví ta podivná ikonka, takže pak už vás jen bude muset přesvědčit, abyste na ní klikli a je to.

Z praktičtějšího soudku – řekněme, že vyvíjíte nějakou nějakou aplikaci pro správu úkolů, která poběží někde na různých doménách různých klientů, a chcete přitom, aby si mohli snadno zadávat úkoly a posílat je libovolným programem. Takže vytvoříte třeba schéma pro task:Název+úkolu&date=21.09.2015&from=email@example.com a uživatel, který dostane takový odkaz a klikne na něj, dostane task rovnou do své aplikace na svém serveru (jednotlivé parametry si odchytíte v té aplikci).

Protože je tahle funkcionalita ve zmíněných prohlížečích už 4 roky a je takhle primitivní pro nasazení, je trochu s podivem, že není k dispozici ani např. u největšího českého mailového poskytovatele – Seznamu. Tak snad jim můj post otevře oči.

Nové články sem přidávám porůznu, tak jestli nechcete, aby vám něco uniklo, přidejte si můj feed do RSS čtečky, sledujte můj Twitter, Facebook a LinkedIn, případně si nechte nové příspěvky posílat mailem (žádný spam!)