У меня есть веб-сайт с большим количеством JavaScript и требующий, чтобы пользователь записывал свои видео. Когда я отправляю свои электронные письма своим клиентам, ссылка открывается в браузере приложения gmail, из которого вы не можете записывать, Плюс отсутствует множество функций. .
Как вызвать всплывающее окно, когда пользователь щелкает ссылки в электронном письме, чтобы выбрать любой браузер, который он хочет, вместо встроенного в приложение Gmail? Я видел, как некоторые люди поступали так, как я пытался, и провел небольшое исследование, но не дало результатов.
По умолчанию веб-браузеры не могут открывать браузер конкурента. Это было бы угрозой безопасности. Существуют хаки, при которых пользователь загружает надстройку или расширение. См. Ответ в stackoverflow.com/questions/10070744/open-ie-browser-in-firefox-chrome-page
Всплывающее окно, о котором вы говорите, скорее всего, является приложениями. Пользователь должен предоставить разрешение. ( Этого у меня нет ).
Похоже, что нет способа программно заставить электронные письма на Android открываться в браузере Chrome. Пользователь должен изменить свои системные настройки. Следовательно, альтернативный подход может заключаться в информировании пользователя (о потере функциональности). Это можно сделать, предварительно настроив отслеживание браузером и отобразив соответствующее сообщение в верхней части веб-страницы.
С помощью JavaScript вы можете проверить, поддерживается ли функция и включена ли она, путем создания функций. Ниже приведен пример, который определяет, доступен ли LocalStorage. ( Это только в целях иллюстрации ).
function isLocalStorageEnabled () {var test = 'test'; попробуйте {localStorage.setItem (тест, тест); localStorage.removeItem (тест); вернуть истину; } catch (e) {вернуть ложь; }} if (isLocalStorageEnabled () === true) {//available} else {//unavailable}
Также я считаю, что не существует единого способа определить, использует встроенный браузер Gmails или Chrome. Однако, исходя из следующих факторов, можно предположить, что они используют Gmail, если:
- Пользователь щелкнул ссылку электронной почты. (Вы можете добавить строку запроса. При переходе на сайт сохранить в сеансе и перенаправить без добавления строки запроса).
- Пользователь находится на android
(/Android/.test ( window.navigator.userAgent))
. - Пользователь находится в Chrome (см. ответ stackoverflow.com/questions/4565112/javascript-how-to-find-out-if-the- user-browser-is-chrome/13348618 # 13348618).
- Веб-браузер не поддерживает какую-то функцию JavaScript, которая работает в Chrome, но не в браузере Gmails.
Если все критерии верны, вы можете отобразить сообщение вроде: Для полной функциональности используйте Chrome или, альтернативно, в Gmail: перейдите в «Настройки», «Общие» и снимите флажок. для открытия ссылок в Gmail (и повторного открытия ссылки из Gmail)
.
Примечание. Обнаружение браузера может быть подделано. Однако это должно быть хорошо для отображения сообщений.
Возможность отправки ссылок в Gmail (или любом приложении) WebView в системный обработчик зарезервирована для само приложение.
Реализация для приложений описана здесь:
WKWebView открывает ссылки из определенного домена в safari
щелкните ссылку WebView открыть браузер по умолчанию
Однако, если вы проинструктируете получателя долго нажимать ссылку в электронном письме, есть возможность открыть ссылку в браузере, и он перейдет в браузер по умолчанию.
Возможность отправки ссылок в Gmail (или любом приложении) WebView системному обработчику зарезервирована для самого приложения.
Реализация приложений описана здесь:
WKWebView открывают ссылки из определенного домена в сафари
ссылка WebView щелкните открыть браузер по умолчанию
Однако, если вы проинструктируете получателя долго нажимать на ссылку в электронном письме, есть возможность открыть ссылку i n, и они перейдут в браузер по умолчанию.