Есть ли способ использовать схему mailto: или message: в PWA в iOS 12.2?

Я создал PWA, используя Ionic 4, у которого была кнопка «Контакт» с простым href с использованием схемы mailto :.

<a href="mailto:[email protected]">Contact</a>

Это использовалось для открытия собственного почтового приложения в iOS 12.1 при запуске PWA с домашнего экрана. Поскольку я обновился до iOS 12.2, он просто открывает внутреннее Safari PWA с сообщением о том, что Safari не может открывать ссылки, начинающиеся с mailto:

Я пробовал использовать другие схемы URI, такие как «instagram:» или «message:», но все они приводят к одной и той же проблеме. Когда я запускаю PWA с рабочего стола, я обнаружил, что единственное, что по-прежнему работает, - это схема «tel:».

Кто-нибудь еще сталкивался с этой проблемой и знает, как по-прежнему открывать схемы URI, кроме tel: из PWA, который был открыт с домашнего экрана?


person Tobias    schedule 10.04.2019    source источник


Ответы (2)


У меня есть PWA, установленный на iOS 12.2, моя ссылка использует target = "_ blank", и она работает. Вы пробовали это?

Хорошего дня,

person Quentin D.    schedule 10.04.2019
comment
Я только что попробовал это и могу подтвердить, что отчасти это работает. Он не работает с кнопкой, но с помощью простого тега ‹a› открывает собственное приложение Mail. Однако, когда я это делаю, я застреваю на пустой странице браузера всякий раз, когда открываю свой PWA, из которого я не могу выйти, пока не удалю его с домашнего экрана и не добавлю снова. Есть ли у вас какие-либо указания на то, как вы реализовали это, чтобы избежать такого поведения? - person Tobias; 11.04.2019
comment
Ваш ответ указал мне правильное направление, поэтому я приму его как правильный ответ. Когда я добавляю функцию щелчка с помощью window.location.href, она работает так же, как до обновления до iOS 12.2. window.location.href = 'mailto:[email protected]'; Спасибо за вашу помощь! - person Tobias; 11.04.2019
comment
@Tobias, у меня аналогичная проблема, и я не могу понять, как избавиться от устаревшего белого экрана. Какое было ваше решение? - person Gary Vernon Grubb; 06.08.2019
comment
Разобрался, просто нужно было добавить возврат в конце функции щелчка. Добавление нового ответа как target = _blank не является решением. - person Gary Vernon Grubb; 06.08.2019

Мне удалось заставить его работать, используя функцию щелчка ниже. Протестировано как на Android, так и на iOS PWA.

()=>{
    window.location.href = "mailto:[email protected]?subject=" + emailSubject + "&body=" + emailBody
    return
}
person Gary Vernon Grubb    schedule 06.08.2019