2015-07-22 18 views
20

Hai mai avuto esperienza nel rilevamento dei browser in-app di Facebook? Qual è la differenza principale in user-agent?Come rilevare il browser in-app di Facebook?

Non voglio sapere se si tratta di un solo dispositivo mobile/ios/chrome. Ho bisogno di sapere se l'user agent è specifico da Facebook browser in-app

risposta

30

È possibile verificare la presenza di FBAN/FBAV nella user agent.

controllare questo link: Facebook user agent

codice di esempio come @sascha suggerito

function isFacebookApp() { 
    var ua = navigator.userAgent || navigator.vendor || window.opera; 
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1); 
} 
+0

Che cosa significa ua.indexOf ("FBAN")> -1 e ua.indexOf ("FBAV")> -1 significa? Impedire all'utente di utilizzare il browser Web anziché il browser in-app? –

+0

@RobbNesp 'var us = navigator.userAgent' fornisce un valore stringa. '.indexOf()' verifica la posizione di una sottostringa in una stringa. Se non viene trovato, viene restituito un valore di -1. Sta semplicemente controllando se è il browser di Facebook, controllando se l'agente utente del browser contiene una delle sottostringhe specificate. – worker11811

-8

questo javascript funziona bene

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 
}; 
+1

L'OP chiede: "è necessario sapere se l'agente utente è specifico nel browser in-app di Facebook". – worker11811

20

Per completare la risposta di worker11811 sull'uso della user agent, ecco un frammento di codice per farlo funzionare:

function isFacebookApp() { 
    var ua = navigator.userAgent || navigator.vendor || window.opera; 
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1); 
} 
Problemi correlati