Jak wykryć przeglądarkę Facebook in-app?

Czy miałeś jakieś doświadczenie w wykrywaniu przeglądarki Facebook in-app? Jaka jest podstawowa różnica w user agent?

Nie chcę wiedzieć, czy to tylko mobile/iOS / chrome. Muszę wiedzieć, czy user agent jest specyficzny z Facebook in-app browser

Author: milosz0010, 2015-07-22

3 answers

Możesz sprawdzić FBAN / FBAV w user agent.

Sprawdź ten link: Facebook user agent

Przykładowy kod jak zasugerował @sascha

function isFacebookApp() {
    var ua = navigator.userAgent || navigator.vendor || window.opera;
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
 42
Author: worker11811,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-19 07:58:28

Aby uzupełnić odpowiedź worker11811 na temat korzystania z user agent, oto fragment kodu, aby to działało:

function isFacebookApp() {
    var ua = navigator.userAgent || navigator.vendor || window.opera;
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
 24
Author: Sascha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-17 00:26:49

Ten javascript działa dobrze

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
};
 -10
Author: Javier Gutierrez Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-14 16:49:23