Можно ли вызвать меню share на смартфонах (через HTML/JS)?

существует ли возможность запуска функции общего доступа в локальных браузерах на смартфонах через HTML или JavaScript?

конечно, есть много услуг, которые предоставляют кнопку share. Но когда я, например, хочу поделиться веб-сайтом на facebook, мне нужно войти в facebook в браузере, который я сейчас использую.

почти все браузеры получили собственную функциональность share build in, которая запускает системное меню, чтобы выбрать, какое приложение вы хотите использовать для поделиться:

System share menu in android os

вопрос: Как вызвать это меню?

Я знаю, что можно вызвать телефонный звонок с указанным префиксом в атрибуте href ссылок, например tel: или callto:. Может быть, такой ярлык для этого меню share также существует? Или какой-то код javascript? Или совсем по-другому, как это сделать?

спасибо заранее.

4 ответов


насколько мне известно, такой реализации в текущих браузерах на мобильных ОС нет. Поскольку вопрос меня заинтересовал-поиск google показал, что в этом направлении ведется работа:

Извините - я не знаю обходного пути.


возможно *с большим уловом. В настоящее время доступен только в chrome для android за флагом. 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


Я добавил Это, так как все ответы кажутся устаревшими 2018-07-16.

это возможно, но только в нескольких браузерах (MDN Reference), достигается через один метод API в navigator:

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

ссылка Google:https://developers.google.com/web/updates/2016/10/navigator-share

кроме того, была вещь под названием Веб-Намерен который является мертвым проектом, вы должны пойти с navigator.share вместо.


можно использовать WebView.названием addjavascriptinterface() метод для android.

сначала вам нужно будет написать класс, который запускает намерение открыть меню share (посмотреть здесь), а затем реализовать этот класс с помощью вызова addJavascriptInterface (). После этого все, что вам нужно сделать, это вызвать метод из кода JavaScript.