Introducing the Web Share API | Web | Google Developers

AI-generated summary

The Web Share API has been introduced to Discourse, allowing users to share content directly from the platform. Falco created a pull request to implement the API, which has been merged and is working on Chrome Android and iOS 12.2 Falco.

The native share sheet is used, and the “reply as linked topic” button is still accessible by tapping on the post’s time gerhard.

Users have requested support for sharing files to Discourse on all major operating systems, including Windows and macOS anon82467725. However, this would require implementing the V2 share target API, which allows uploads, and is a more complex task Falco.

Enabling the Web Share API on non-mobile devices is not recommended due to compatibility issues with certain browsers and operating systems Johani. Using Discourse’s own share sheet as a fallback for browsers that don’t support the Web Share API has been suggested Justin_Vega.

We can try switching the topic share icon action to the web share intent on supported platforms ( Chrome android for now)

19 лайков

Ok, did a quick try at this while I was in the plane and after some cleaning up sent a pull request.

Here is it in action:

16 лайков

This only happens on Android yes? Seems fairly safe to me then. @gerhard can you review?

1 лайк

It’s merged and it works great on Chrome 61. :+1:

8 лайков

I don’t have an android device to test, but I’m assuming this means users no longer have access to the “reply as linked topic” button that is normally next to the share buttons?

Can this functionality be put elsewhere? Or is there any way to add a custom button to the native share sheet?

11 лайков

It’s still there when you tap on the post’s time.

Only the share button uses the new functionality.

13 лайков

It works on iOS 12.2 :tada:

11 лайков

Я бы хотел увидеть это работающим в Chrome OS. Discourse уже является PWA, так что звезды сходятся.

Также я хотел бы иметь возможность делиться вещами в Discourse. Например, если бы я выбрал изображение для отправки в Discourse, это создало бы новую тему с изображением, вставленным в начало. Название изображения затем использовалось бы как заголовок темы.

Я также знаю многих людей, использующих Windows, поэтому поддержка этой платформы тоже была бы отличным решением. Они хотят использовать нативное меню. Оно выглядит очень аккуратно.

То же самое можно сказать и о macOS, хотя я не совсем уверен, как это будет реализовано.

Кратко: я хочу иметь возможность делиться файлами в Discourse на всех основных операционных системах (как мобильных, так и настольных). Кроме того, я хотел бы иметь возможность делиться ссылками из Discourse на всех основных настольных операционных системах. :slight_smile:

Также, поддерживают ли Firefox и Safari Web Share API? Изначально я думал, что он поддерживается только в браузерах на движке Chromium.

Это уже работает благодаря Поделиться в Discourse (через Android).

На данный момент мы реализуем только V1 API, поэтому только текст. Целевой API для обмена V2 позволяет загружать файлы, но это немного сложнее реализовать. pr-welcome.

3 лайка

Пока ещё слишком рано включать это на устройствах, отличных от мобильных. Вот несколько примеров.

  • Это не будет работать в Chrome, если вы не используете Windows или Chrome OS.
  • Это не будет работать в Edge, если вы не используете Windows.
  • Это не будет работать в Firefox, независимо от используемой вами операционной системы.

"web share" | Can I use... Support tables for HTML5, CSS3, etc

Я не вижу, чтобы эти проблемы были исправлены в ближайшее время.

6 лайков

Почему бы не использовать собственную панель обмена Discourse в качестве запасного варианта, если браузер не поддерживает Web Share API?

Кстати, Web Share API всё ещё не работает на iOS 14. :slightly_frowning_face: