Якорь (<a>) с установленным атрибутом загрузки не работает в браузере приложения Facebook Messenger - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть приложение React, которое генерирует файл PDF. PDF создан как BLOB-объект, и я использую URL.createObjectURL() для создания URL-адреса, похожего на BLOB-объект. Чтобы пользователь мог загрузить его, я создал тег <a> с установленным атрибутом download и атрибутом href, указывающим на этот URL. Он прекрасно работает во всех браузерах (настольных и мобильных), кроме встроенного в Facebook Messenger. Нажатие на ссылку ничего не делает. Кажется, что Facebook просто не хочет, чтобы вы открывали другую вкладку.

Вот фрагмент кода:

// src/components/MobilePreview.js
<a download="Attestation.pdf" href={blobURL}>
  Ouvrir
</a>

Я пытался удалить атрибут download на мобильных устройствах для пользователь просто перенаправляется на этот URL (поскольку он все равно не загружает файл на мобильный телефон), но это тоже не работает. Похоже, это как-то связано с тем, что это URL типа «blob:», потому что когда я пытался установить тупой «https:» - например, он работал!

Любая идея, как я можно это исправить?

Ссылка на сайт: https://generateur-attestation.com/ Ссылка на репо: https://github.com/theoavoyne/attestation-generateur

...