Не предлагать пользователю установить приложение при попытке загрузить пользовательскую схему URL

У меня есть страница, где я хочу перенаправить пользователей в приложение Instagram, когда оно установлено. Эта часть работает хорошо, но когда у пользователя нет установленного приложения, он предлагает ему зайти в магазин приложений и загрузить приложение, а это не то, что мне нужно.

Я наблюдаю такое поведение на OS X в Safari, и HTML-код ({username} заполняется моим приложением на основе пользователя, отправляющего форму):

<!DOCTYPE html>
<html lang="en">
    <head>
      <meta http-equiv="refresh" content="0; url=instagram://user?username={username}">
    </head>

    <body>
        <div>
            Taking you to Instagram...
        </div>
        <script src="https://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
        $(function() {
            setTimeout(function() {
              window.location = "https://instagram.com/{username}";
            }, 200);
        });
        </script>
    </body>
</html>

РЕДАКТИРОВАТЬ В частности, то, что происходит, это линия <meta http-equiv="refresh" content="0; url=instagram://user?username={username}"> показывает следующий диалог:

Я бы хотел, чтобы это диалоговое окно не отображалось и позволяло "window.location =" при переходе и перенаправлять пользователя в Instagram в браузере.

У меня вопрос, как я могу изменить перенаправление "instagram://", чтобы пользователи не устанавливали приложение Instagram на свой компьютер?

1 ответ

Решение

В браузере нет (официального) способа определить, установлено ли приложение (например, Instagram), и поэтому вы не можете использовать собственную схему URL-адреса, не предлагая альтернативы. Вы должны предоставить конечному пользователю возможность выбора и предложить открыть веб-сайт (схема https) или приложение (схема Instagram). Пользователь будет знать, установлено ли приложение.

Если вы уже знаете, что у пользователя установлено приложение Instagram, вы можете посмотреть на браузере агента, чтобы увидеть, если вы находитесь на устройстве iOS.

Другие вопросы по тегам