【发布时间】:2015-10-12 16:55:50
【问题描述】:
您有过 Facebook 应用内浏览器检测方面的经验吗? 用户代理的核心区别是什么?
我不想知道它是否是唯一的移动/ios/chrome。我需要知道用户代理是否特定于 Facebook 应用内浏览器
【问题讨论】:
标签: javascript facebook mobile browser in-app
您有过 Facebook 应用内浏览器检测方面的经验吗? 用户代理的核心区别是什么?
我不想知道它是否是唯一的移动/ios/chrome。我需要知道用户代理是否特定于 Facebook 应用内浏览器
【问题讨论】:
标签: javascript facebook mobile browser in-app
您可以在用户代理中检查 FBAN / FBAV。
检查此链接: Facebook user agent
【讨论】:
var us = navigator.userAgent 给你一个字符串值。 .indexOf() 检查字符串中子字符串的位置。如果未找到,则返回值 -1。它只是通过检查浏览器的用户代理是否包含给定的子字符串来检查它是否是 Facebook 浏览器。
(ua.indexOf('Instagram') > -1)
|| window.opera 位吗?我认为它不会转换为用户代理字符串。
要完成worker11811关于使用用户代理的回答,这里有一个代码sn-p来使它工作:
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
【讨论】:
您可以使用https://www.npmjs.com/package/detect-inapp 并检查 inapp.isInApp() 是否为真
【讨论】:
这个 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
};
【讨论】: