487 votes

Comment marquer les numéros de téléphone ?

Je veux marquer un numéro de téléphone comme lien appelable dans un document HTML. J'ai lu l'approche des microformats et je sais, que le tel: serait standard, mais n'est littéralement mis en œuvre nulle part.

Skype définit, pour autant que je sache, skype: y callto: ce dernier ayant acquis une certaine popularité. Je suppose que d'autres entreprises ont soit d'autres systèmes, soit qu'elles sautent sur l'occasion. callto: train.

Quelle serait la meilleure pratique pour baliser un numéro de téléphone, afin que le plus grand nombre possible de personnes disposant d'un logiciel de VoIP puissent simplement cliquer sur un lien pour obtenir un appel ?

Question bonus : Quelqu'un connaît-il des complications avec les numéros d'urgence tels que le 911 aux États-Unis ou le 110 en Allemagne ?

A la vôtre,

Mise à jour : Microsoft NetMeeting prend callto: sous WinXP. Cette question suggère, que Microsoft Office Communicator gérera tel: mais pas callto: ceux. Super, Redmond !

Mise à jour 2 : Deux ans et demi plus tard maintenant. Tout semble se résumer à ce que vous voulez faire avec ce numéro. Dans le contexte du mobile, tel: est la voie à suivre. Cibler les ordinateurs de bureau, c'est à vous de voir, si vous pensez que vos utilisateurs sont plutôt des gens de Skype ( callto: ) ou auront plus probablement quelque chose comme Google Voice ( tel: ) installé. Mon opinion personnelle est que, dans le doute, il faut utiliser tel: (en accord avec la réponse de @Sidnicious).

Mise à jour 3 : L'utilisateur @rybo111 a fait remarquer que Skype dans Chrome a entre-temps pris le relais. tel: le train en marche. Je ne peux pas le vérifier, car je n'ai pas de machine avec les deux à portée de main, mais si c'est vrai, cela signifie que nous avons finalement un gagnant ici : tel:

0 votes

Des nouvelles de la question bonus ? Je m'interrogeais sur les numéros spéciaux tels que le 800- (habituellement ?) gratuit en Italie.

1 votes

Malheureusement non. Il semble que cela se résume à ce que fait votre fournisseur (VoiP, compagnie de téléphonie mobile ou autre). Cela pourrait tout aussi bien être la facturation des numéros 800.

1 votes

J'utilise Google Voice dans Chrome, mais il ne reconnaît pas le système. tel: URIs. Je m'en tiens toujours à callto: et l'affichage du numéro de téléphone en partant du principe que les navigateurs des téléphones portables devraient de toute façon détecter automatiquement le numéro.

520voto

Sidnicious Points 15187

El tel: était utilisé à la fin des années 1990 et documenté au début de l'année 2000 avec RFC 2806 (qui a été supprimée par l'initiative plus approfondie de la RFC 3966 en 2004) et continue d'être améliorée . Soutien à tel: sur l'iPhone n'était pas une décision arbitraire.

callto: tout en étant pris en charge par Skype, n'est pas une norme et doit être évitée, sauf si elle vise spécifiquement les utilisateurs de Skype.

Moi ? Je commencerais juste à inclure des informations correctement formées. tel: URI sur vos pages (sans renifler l'agent utilisateur) et attendez que les téléphones du reste du monde vous rattrapent :) .

Exemple :

<a href="tel:+18475555555">1-847-555-5555</a>

0 votes

Merci pour cette réponse détaillée ! Depuis que j'ai posé la question, j'ai été tenté de suivre cette approche également. Utiliser la norme et dire aux personnes qui se plaignent qu'elles utilisent une mauvaise application/un mauvais outil. Bien que cela devienne difficile, si celui-ci est votre client, je pense que vous avez raison. Si je dois néanmoins tenir compte des utilisateurs de Skype, j'utiliserai ma solution JavaScript dans l'autre sens.

1 votes

Nous sommes en 2014 et Tel : fonctionne désormais pour Skype. Mais si vous vouliez lancer un appel vers le service Skype Echo / Sound Test, le lien serait <a href="skype:echo123?call">Appeler le service Skype Echo / Sound Test</a> de msdn.microsoft.com/en-us/library/office/

4 votes

Quelqu'un a essayé href="tel://1-555-555-5555" format ? les gars de Tutsplus le recommandent code.tutsplus.com/tutorials/

73voto

Murat Points 679

Les résultats de mes tests :

appeler :

  • Nokia Browser : rien ne se passe
  • Google Chrome : demande d'exécuter skype pour appeler le numéro
  • Firefox : demande de choisir un programme pour appeler le numéro.
  • IE : demande d'exécuter skype pour appeler le numéro

tél :

  • Navigateur Nokia : fonctionnel
  • Google Chrome : rien ne se passe
  • Firefox : "Firefox ne sait pas comment ouvrir cette url"
  • IE : Impossible de trouver l'url

2 votes

De plus, le comportement est le même pour Google Chrome sous Android 4.2.2 (Nexus 4). L'exécution de la version Android de Skype en arrière-plan ne permet même pas de faire fonctionner les liens callto :. En bref, vous ne pouvez pas vraiment utiliser les liens callto : si vous souhaitez cibler le mobile à l'heure actuelle.

0 votes

Maintenant, sur le chrome 35, vous obtenez ceci popup

0 votes

Dans chrome et firefox (peut-être aussi dans IE), vous pouvez enregistrer un de vos services web pour l'option d'accès à l'Internet. tel: préfixe avec registerProtocolHandler .

45voto

mordy Points 387

Le mieux est de commencer par tel : qui fonctionne sur tous les mobiles.

Mettez ensuite ce code, qui ne s'exécutera que sur un ordinateur de bureau, et uniquement lorsqu'un lien est cliqué.

J'utilise http://detectmobilebrowsers.com/ pour détecter les navigateurs mobiles, vous pouvez utiliser la méthode de votre choix.

if (!jQuery.browser.mobile) {
    jQuery('body').on('click', 'a[href^="tel:"]', function() {
            jQuery(this).attr('href', 
                jQuery(this).attr('href').replace(/^tel:/, 'callto:'));
    });
}

Donc, en gros, vous couvrez toutes vos bases.

tel : fonctionne sur tous les téléphones pour ouvrir le composeur avec le numéro.

callto : fonctionne sur votre ordinateur pour se connecter à skype depuis firefox, chrome

0 votes

Oui, ceci -- callto : ne fonctionne pas du tout sur Android (Voir mon commentaire sur la réponse de Murat), et tel : ne fonctionne pas vraiment sur le bureau. C'est malheureux, vraiment.

1 votes

Hmmm, malheureusement un rapide jsfiddle ne semble pas permettre de faire fonctionner cela non plus.... jsfiddle.net/tchalvakspam/gVZYt/3

0 votes

Travaillant sur Seamonkey 2.20 sur Mac 10.8 mettre ci-dessous le <body <?php body_class(); ?>> dans le fichier header.php d'un thème Wordpress.

21voto

rymo Points 924

Comme on pouvait s'y attendre, la prise en charge par WebKit de l'option tel: s'étend également au navigateur mobile Android - FYI

16 votes

Cela aurait été mieux sous forme de commentaire, mais c'est bon à savoir quand même.

10voto

Boldewyn Points 29961

Je conserve cette réponse à des fins "historiques" mais ne la recommande plus. Voir la réponse de @Sidnicious ci-dessus et ma mise à jour 2.

Puisque cela ressemble à un match nul entre callto et tel guys, je veux proposer une solution possible dans l'espoir que vos commentaires me ramènent sur le chemin de la lumière ;-)

Utilisation de callto: puisque la plupart des clients de bureau le gèrent :

<a href="callto:0123456789">call me</a>

Ensuite, si le client est un iPhone, remplacez les liens :

window.onload = function () {
  if (navigator.userAgent.match (/iPhone/i)) {
    var a = document.getElementsByTagName ("a");
    for (var i = 0; i < a.length; i++) {
      if (a[i].getAttribute ('href').search (/callto:/i) === 0) {
        a[i].setAttribute ('href', a[i].getAttribute ('href').replace (/^callto:/, "tel:"));
      }
    }
  }
};

Des objections contre cette solution ? Devrais-je de préférence commencer par tel: ?

0 votes

Il se peut que l'iPhone prenne également en charge le schéma callto, mais qu'Apple préfère tel, et c'est donc celui qui est mentionné dans la documentation.

5 votes

Voir ma réponse. callto: est un schéma URI propriétaire, donc je ne commencerais pas par là.

0 votes

Callto : n'a pas fonctionné pour chrome sur mac et la version est à jour.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X