У нас есть приложение с пользовательской схемой URL, скажем, «com.company.app». В файле javascript мы вызываем приложение с помощью window.location = "com.company.app://" ;. Если приложение не установлено, Safari выдает ошибку «Safari не может открыть указанный адрес ..... не распознает интернет-адреса, начинающиеся с com.company.app». Это происходит только в Safari, а не в других браузерах.
Chrome и Firefox не выдают никаких ошибок в подобной ситуации, т.е. они знают, что com.company.app является обработчиком протокола, и если приложение не установлено, они не выдают никаких ошибок и просто продолжают выполнение.
Safari считает, что com.company.app является веб-сайтом, и пытается загрузить его, а не пытаться открыть приложение.
Обратите внимание, что это происходит только тогда, когда приложение не установлено. Отлично работает с Safari, если приложение установлено.
Я также пытался перезапустить браузер, перезагрузить компьютер, удалить приложение по умолчанию с помощью приложения "Стандартные приложения" и т. Д.
Версия Safari: 12.0 (хххх)
Версия macOS: 10.14.x (Мохаве)