web-dev-qa-db-fra.com

Est-il possible de déclencher un menu partagé sur les smartphones (via HTML/JS)?

Existe-t-il une possibilité de déclencher la fonctionnalité de partage dans les navigateurs locaux sur les smartphones via HTML ou JavaScript?

Bien sûr, de nombreux services proposent un bouton de partage. Mais quand je par exemple voulez partager un site Web sur facebook, je dois être connecté à facebook dans le navigateur que j'utilise actuellement.

Presque tous les navigateurs ont une fonctionnalité de partage intégrée, ce qui déclenche un menu système pour choisir l'application que vous souhaitez utiliser pour le partage:

System share menu in Android os

Cette question concerne: Comment déclencher ce menu?

Je sais qu'il est possible de déclencher un appel téléphonique avec un préfixe spécifié dans l'attribut href de liens, comme tel: ou callto:. Peut-être qu'un tel raccourci pour ce menu de partage existe également? Ou du code javascript? Ou d'une manière totalement différente, comment le faire?

Merci d'avance.

32
Armin

À ma connaissance, cette implémentation n'existe pas dans les navigateurs actuels des systèmes d'exploitation mobiles. Depuis que la question m'intéresse - une recherche sur Google a révélé que des travaux étaient en cours dans ce sens:

Désolé, je ne connais pas de solution de contournement.

9
madflow

C'est possible * avec une grosse prise. Actuellement disponible uniquement en chrome pour Android et bientôt sur desktop safari. http://caniuse.com/#feat=web-share

navigator.share({
    title: document.title,
    text: "Hello World",
    url: window.location.href
}).then(() => console.log('Successful share'))
.catch(error => console.log('Error sharing:', error));

https://developers.google.com/web/updates/2016/10/navigator-share

14
aWebDeveloper

J'ai ajouté ceci car toutes les réponses semblent obsolètes d'ici le 2018-07-16.

C'est possible, mais seulement dans quelques navigateurs ( Référence MDN ), réalisé via l'API à une méthode dans navigator:

navigator
    .share({
        title: document.title,
        text: 'Hello World',
        url: window.location.href
    })
    .then(() => console.log('Successful share! ????'))
    .catch(err => console.error(err));

Référence de Google: https://developers.google.com/web/updates/2016/10/navigator-share

En outre, il y avait une chose appelée Web Intends qui est un projet mort, vous devriez plutôt utiliser navigator.share.

5
Machado

Vous pouvez utiliser la méthode WebView.addJavascriptInterface () pour Android.

Vous devez d’abord écrire une classe qui déclenche l’intention d’ouvrir le menu de partage ( regardez ici ), puis implémentez cette classe en utilisant l’appel addJavascriptInterface (). Ensuite, il vous suffit d'appeler la méthode à partir de votre Javascript.

0
Ezeke