[英]How can i detect, if webpage is running in iPad in-app browser?
在php中,有没有一种方法可以知道某个网页是否在facebook应用内浏览器中运行?
当我在Facebook上发布链接时,我需要知道用户是通过iPad的facebook App还是在iPad Safari浏览器中查看的facebook查看网页。
我知道我可以检测到iPad,但这还不够,因为Facebook App和通过浏览器的facebook都将在iPad上运行。
有什么建议么?
谢谢
这样的事情可能适合您...
if (
("standalone" in window.navigator) &&
!window.navigator.standalone
){
// .... code here ....
}
检查来源:
我今天也有这个问题。 我在比较Useragent-Strings并提出了一个对我有用的解决方案。 快速又肮脏:
function check_ios_fb() {
$uagent = $_SERVER['HTTP_USER_AGENT'];
$return = false;
if(preg_match('/FBBV/i',$uagent))
{
if(preg_match('/iPhone/i',$uagent))
$return = true;
if(preg_match('/iPad/i',$uagent))
$return = true;
}
return $return;
}
if(check_ios_fb()) {
echo 'This page is viewed in the facebook inApp browser on iPhone or iPad';
} else {
echo 'This page is NOT viewed in the facebook inApp browser';
}
“我不确定Android,但是当您使用iOS SDK的UIWebView时,它将作为用户代理的一部分(YourApp / 1.0)发送应用的名称和版本。”
然后,您可以使用PHP来检查是否正在使用您的应用内网络视图:
if (strpos($_SERVER['HTTP_USER_AGENT'], 'YourApp/') !== false)
我认为Android也会执行类似的操作。
来源: 使用PHP / Javascript检测应用内浏览器(WebView)
希望这对你有用
这不是完整的解决方案,但您可以像这样针对IOS(iPad / iPhone等)和其他
$internalBrowserOS = '';
if (strpos($_SERVER['HTTP_USER_AGENT'], 'FBAN') !== FALSE) {
if (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone OS')) // or iPad
$internalBrowserOS = 'iPhone';
}else if(strpos($_SERVER['HTTP_USER_AGENT'], 'FB_IAB/FB4A') !== FALSE){
$internalBrowserOS = 'androidOrAnotherOne';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.