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

mil*_*010 34 javascript browser mobile facebook in-app

你有过Facebook应用内浏览器检测的经验吗?用户代理的核心区别是什么?

我不想知道它是否只是一个移动/ ios/chrome.我需要知道用户代理是否是Facebook应用内浏览器中的特定代理

Jan*_*art 58

您可以在用户代理中检查FBAN/FBAV.

检查此链接: Facebook用户代理

示例代码为@sascha建议

function isFacebookApp() {
    var ua = navigator.userAgent || navigator.vendor || window.opera;
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!Instagram的共享片段也为:((ua.indexOf('Instagram')> -1)` (3认同)
  • 你能解释一下“||”吗?window.opera` 位?我不认为它会转换为用户代理字符串。 (2认同)

Sas*_*cha 31

要完成worker11811关于使用用户代理的答案,这里有一个代码片段可以使它工作:

function isFacebookApp() {
    var ua = navigator.userAgent || navigator.vendor || window.opera;
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
Run Code Online (Sandbox Code Playgroud)