Rejestrowanie niestandardowego modułu obsługi protokołów

W Chrome 13 dodaliśmy navigator.registerProtocolHandler. Ten interfejs API pozwala aplikacjom internetowym rejestrować się jako możliwe moduły obsługi określonych protokołów. Na przykład użytkownicy mogą wybrać aplikację, która będzie obsługiwać „mailto”. .

Zarejestruj schemat protokołu, taki jak:

navigator.registerProtocolHandler(
    'web+mystuff', 'http://example.com/rph?q=%s', 'My App');

Pierwszym z nich jest protokół. Drugi to wzorzec adresu URL aplikacji, która powinna obsługiwać ten schemat. Wzorzec powinien zawierać parametr „%s” jako obiekt zastępczy danych i musi być z tego samego źródła co aplikacja próbująca zarejestrować protokół. Gdy użytkownik zatwierdzi dostęp, możesz użyć tego linku w aplikacji, na innych stronach itp.:

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

Kliknięcie tego linku spowoduje wysłanie żądania GET do usługi http://example.com/rph?q=web%2Bmystuff%3A:some%20data. Dlatego musisz przeanalizować parametr q i ręcznie usunąć dane z protokołu.

Warto zauważyć, że od wersji FF3 przeglądarka Firefox została wdrożona w przeglądarce navigator.registerProtocolHandler. Jedna z różnic w implementacji Chrome dotyczy protokołów niestandardowych. Muszą one być poprzedzone ciągiem „web+”, jak widać w przykładzie powyżej. Te protokoły nie wymagają „web+” prefiks: „mailto”, „mms”, „nntp”, „rtsp”, „webcal”.

Więcej informacji o tym interfejsie API znajdziesz w tym artykule.