2013-04-17 7 views
14

Podczas uzyskiwania dostępu do Google Mail lub Kalendarza Google z przeglądarki Chrome na pasku adresowym pojawia się mała ikona umożliwiająca zainstalowanie niestandardowego programu obsługi usługi dla schematu identyfikatora URI (oznaczonego czerwonym kwadratem na rysunku).Instalowanie programu obsługi usługi dla schematu identyfikatorów URI ze strony internetowej

Icon for installing custom service handler

Etykietka ikony jest: This page wants to install a service handler. Gdy klikam ikonę i zezwalam Google Mailowi ​​na obsługę linków mailto:, wszystkie linki mailto: otwierają się w Chrome.

Czy można utworzyć stronę internetową, która będzie w stanie zainstalować niestandardową procedurę obsługi dla mojego niestandardowego schematu URI, tak jak robi to Google Mail?

Odpowiedz

21

Dla Chrome (13+), Firefox (3.0+) i Opera (11.60+) możliwe jest, aby zarejestrować się jako aplikację internetową obsługi serwisowej niestandardowego schematu URI przy użyciu JavaScript API:

window.navigator.registerProtocolHandler(protocol, uri, title); 
  • jest protokołem, który strona chce obsługiwać, określona jako ciąg znaków.
  • uri to identyfikator URI do obsługi jako ciąg. Możesz dołączyć "% s", aby wskazać miejsce wstawienia ewidencjonowanego identyfikatora URI dokumentu, który ma być obsługiwany.
  • title jest tytułem programu obsługi prezentowanego użytkownikowi jako ciąg znaków.

specjalnie dla Chrome istnieją ograniczenia, które nie pozwalają na zastosowanie systemów niestandardowych, które nie zaczynają się od przedrostka web+ (oprócz standardowych: mailto, mms, nntp, rtsp i webcal). Więc jeśli chcesz, aby zarejestrować swoją aplikację jako przewodnika usług podobnie jak GMail, powinieneś napisać coś takiego:

navigator.registerProtocolHandler("mailto", "https://www.example.com/?uri=%s", "Example Mail"); 

lub

navigator.registerProtocolHandler("web+myscheme", "https://www.example.com/?uri=%s", "My Cool App"); 

zwrócić uwagę na URI wzoru, to musi zawierać %s który zostanie zastąpiony rzeczywistym identyfikatorem URI kliknięć łącza użytkownika. Na przykład:

<a href="web+myscheme:some+data">Open in "My Cool App"</a> 

wywoła GET prośba o http://www.example.com/?uri=web%2Bmyscheme%3Asome%20data

Oto kilka przydatnych linków:

+0

Jest to bardzo przydatne. –

Powiązane problemy