Разрешить общий доступ к файлу в iOS в автономном режиме в WebApp - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть веб-приложение, и оно отлично работает в среде Android и iOS.Проблема в том, что на одном из экранов WebApp генерирует (и отображает) файл PDF, который должен быть доступен через электронную почту, WhatsApp, Telegram и т. Д.

Android позволяет поделиться в автономном режиме отображения, но iOS просто нет.Мне нужно знать, могу ли я как-нибудь на самом деле выйти из режима WebApp в режим обычного старого браузера при открытии файла PDF, чтобы пользователь мог поделиться им со своими контактами черезДиалог общего ресурса браузера.

Это содержимое файла manifest.json

{
    "name": "Test App",
    "short_name": "TestApp",
    "icons": [
        {
            "src": "/icon-192x192.png",
            "sizes": "192x192",
            "type": "image/png"
        },
        {
            "src": "/icon-512x512.png",
            "sizes": "512x512",
            "type": "image/png"
        }
    ],
    "start_url": "https://example.com?a2hs=1",
    "scope": "/",
    "display": "standalone",
    "orientation": "portrait",
    "background_color": "#000000",
    "theme_color": "#000000"
}

До сих пор я пробовал:

  1. используя <a href="test.pdf" target="_blank">Display PDF</a> в pdf-ссылке.

  2. используя javascript для принудительного открытия нового окна:

<a href="test.pdf" id="pdf">test</a>
<script>
$(function(){
    $('#pdf').click(function(e){
        e.preventDefault();
        window.open($(this).attr('href'), '_blank');
        return false;
    });
});
</script>

Ни одно из этих решенийсработало.

Кроме того, я попытался изменить свойство display: в файле manifest.json на minimal-ui - это позволяет обмениваться файлом / URL-адресом, но удаляет внешний вид WebApp, поэтомуне вариант.

Есть идеи?Спасибо!

1 Ответ

0 голосов
/ 09 февраля 2019

Мне удалось найти решение.Я создал этот субдомен псевдонима:

pdf.example.com

Затем я связал pdf с субдоменом псевдонима:

<a href="https://pdf.example.com/test.pdf">Display PDF</a>

iOS распознает его как другой сервер, поэтому он автоматически вызывает загрузкуфайл в новой вкладке в Safari, выход из текущего автономного режима веб-приложения.

...