Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Les API Web
  3. Navigator
  4. Navigator.registerProtocolHandler()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

Navigator.registerProtocolHandler()

Limited availability

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans descontextes sécurisés (HTTPS), pour certainsnavigateurs qui la prennent en charge.

La méthoderegisterProtocolHandler(), rattachée à l'interfaceNavigator, permet aux sites de déclarer leur capacité à gérer certains schémas d'URL particuliers (autrement dit les protocoles).

Ainsi, cette API permettra aux sites de webmail d'ouvrir les URLmailto:, ou aux sites VoIP d'ouvrir des URLtel:.

Syntaxe

js
registerProtocolHandler(schema, url);registerProtocolHandler(schema, url, titre);

Note :La version avec l'argument dépréciétitre est recommandée pour des raisons de compatibilité. Voir les informations sur les paramètres ci-après.

Paramètres

schema

Une chaîne de caractères contenantles schémas autorisés pour le protocole que le site souhaite gérer. On peut ainsi, par exemple, gérer les liens vers des messages SMS en passant le schéma"sms".

url

Une chaîne de caractères qui contient l'URL du gestionnaire.Cette URL doit inclure%s, comme emplacement à remplacer avec l'URLéchappée à gérer.

Note :L'URL du gestionnaire doit également utiliser le schémahttps. Les anciens navigateurs prenaient aussi en chargehttp.

titreObsolète

Un titre, lisible par un humain, pour le gestionnaire.Cette valeur sera affichée à l'utilisatrice ou à l'utilisateur, par exemple pour lui demander « Autorisez-vous ce site à gérer les liens [schema] ? » ou pour lister les gestionnaires enregistrés dans les paramètres du navigateur.

Note :Le titre a été retiré de la spécification en raison des risques d'usurpation.Ce paramètretitre devrait toujours être défini, car certains navigateursle considèrent obligatoire (voirle tableau de compatibilité qui suit).Les navigateurs qui implémentent la spécification à jour accepteront probablement ce paramètre supplémentaire en l'ignorant.

Exceptions

SecurityError

L'agent utilisateur a bloqué l'enregistrement. Cela peut se produire si :

  • Le schéma enregistré (le protocole) est invalide, par exemple parce qu'il est déjà géré par le navigateur (https:,about:, etc.)
  • L'origine de l'URL du gestionnaire ne correspond pas à l'origine de la page qui utilise cette API.
  • Cette fonction doit être appelée depuis un contexte sécurisé pour le navigateur.
  • Le navigateur requiert que l'URL du gestionnaire soit communiquée via HTTPS.
SyntaxError

L'emplacement de substitution marqué par%s est absent de l'URL de gestion.

Schémas autorisés

Pour des raisons de sécurité,registerProtocolHandler() restreint les schémas qui peuvent être enregistrés.

Unschéma personnalisé (custom scheme) peut être enregistré tant que :

  • Le nom du schéma personnalisé commence parweb+
  • Le nom du schéma personnalisé inclut au moins une lettre après le préfixeweb+
  • Le nom du schéma personnalisé ne contient que des lettres ASCII en minuscules.

On peut voir unexemple après avecweb+burger, qui obéit à ces contraintes.

Le schéma peut aussi être l'une des valeurs suivantes :

  • bitcoin
  • ftp
  • ftps
  • geo
  • im
  • irc
  • ircs
  • magnet
  • mailto
  • matrix
  • mms
  • news
  • nntp
  • openpgp4fpr
  • sftp
  • sip
  • sms
  • smsto
  • ssh
  • tel
  • urn
  • webcal
  • wtai
  • xmpp

Exemple

Si votre site estburgers.example.com, vous pouvez enregistrer un gestionnaire de protocole afin qu'il puisse gérer les liensweb+burger:, de cette façon :

js
navigator.registerProtocolHandler(  "web+burger",  "https://burgers.example.com/?burger=%s",  "Gestionnaire de burger",);// L'argument du titre est inclus// pour des raisons de compatibilité

Cette instruction crée un gestionnaire qui permet que des liensweb+burger: envoie les utilisatrices et utilisateurs vers votre site, en insérant l'URL du burger demandée dans l'emplacement indiqué par%s.

Ce script devra être exécuté depuis la même origine que l'URL du gestionnaire (c'est-à-dire depuis une page située soushttps://burgers.example.com). L'URL du gestionnaire devra être avechttp ouhttps.

La personne recevra une notification indiquant que le code a demandé à enregistrer le gestionnaire de protocole afin qu'elle puisse décide ou non d'autoriser cet enregistrement. Voir la capture d'écran ci-après pour un exemple avecgoogle.co.uk :

Une notification de navigateur qui demande "Add Burger handler (www.google.co.uk) as an application for burger links?", et qui fournit un bouton "Add Application" et un autre de fermeture pour ignorer la requête.

Spécifications

Specification
HTML
# custom-handlers

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp