Как обнаружить Facebook в браузере приложения?
Был ли у вас опыт обнаружения браузеров в приложении в Facebook? В чем основное отличие в пользовательском агенте?
Я не хочу знать, если это только мобильный / IOS / Chrome. Мне нужно знать, специфичен ли пользовательский агент из браузера в приложении Facebook
3 ответа
Решение
Вы можете проверить наличие FBAN / FBAV в пользовательском агенте.
Проверьте эту ссылку: пользовательский агент Facebook
Пример кода, предложенный @sascha
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
Чтобы завершить ответ worker11811 об использовании пользовательского агента, вот фрагмент кода, чтобы заставить его работать:
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
Вы можете использовать https://www.npmjs.com/package/detect-inapp и проверить, истинно ли inapp.isInApp()
Этот JavaScript хорошо работает
var standalone = window.navigator.standalone,
userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent ),
ios = /iphone|ipod|ipad/.test( userAgent );
if( ios ) {
if ( !standalone && safari ) {
//browser
} else if ( standalone && !safari ) {
//standalone
} else if ( !standalone && !safari ) {
//uiwebview (Facebook in-app browser)
};
} else {
//not iOS
};