您是否有过在Facebook应用内浏览器检测方面的经验? 用户代理的核心区别是什么?
我不想知道它是否只是一个移动/ ios / chrome。我需要知道用户代理是否来自 Facebook应用程序内浏览器
答案 0 :(得分:52)
您可以在用户代理中检查FBAN / FBAV。
检查此链接: Facebook user agent
示例代码为@sascha建议
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
答案 1 :(得分:27)
要完成worker11811关于使用用户代理的答案,请参阅以下代码片段以使其正常工作:
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
答案 2 :(得分:0)
您可以使用https://www.npmjs.com/package/detect-inapp并检查inapp.isInApp()是否为真
答案 3 :(得分:-12)
这个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
};