Как определить браузер в приложении Facebook?
У кого-то есть опыт определения браузера внутри приложения Facebook? Каковы основные отличия в строке User-Agent?
Меня не интересует информация о том, является ли это мобильным, iOS или Chrome. Мне нужно понять, есть ли специфические признаки в строке User-Agent, которые указывают на браузер внутри приложения Facebook.
2 ответ(ов)
Чтобы дополнить ответ пользователя worker11811 о том, как использовать user agent, вот фрагмент кода, который поможет это реализовать:
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
Этот код определяет, запущено ли приложение Facebook, проверяя наличие определённых подстрок в строке user agent. Если FBAN
или FBAV
присутствуют, значит, пользователь использует именно Facebook.
Вы можете использовать пакет detect-inapp и проверить, является ли inapp.isInApp()
истинным значением. Если это так, значит, ваше приложение запущено в встроенном браузере (in-app browser). Вот пример кода:
const inapp = require('detect-inapp');
if (inapp.isInApp()) {
console.log('Приложение запущено в встроенном браузере.');
} else {
console.log('Приложение запущено в обычном браузере.');
}
Убедитесь, что вы установили пакет с помощью команды npm install detect-inapp
, прежде чем использовать его в своем проекте.
Как определить мобильное устройство с помощью jQuery
Какое наибольшее целочисленное значение в JavaScript, при котором не теряется точность?
Как определить, что окно браузера в данный момент не активно?
Как узнать, загружена ли веб-страница внутри iframe или напрямую в окно браузера?
Обнаружение iOS Chrome