如何检测Facebook应用内浏览器?

时间:2015-07-22 16:59:14

标签: javascript facebook mobile browser in-app

您是否有过在Facebook应用内浏览器检测方面的经验? 用户代理的核心区别是什么?

我不想知道它是否只是一个移动/ ios / chrome。我需要知道用户代理是否来自 Facebook应用程序内浏览器

4 个答案:

答案 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
};