繁体   English   中英

我如何检测网页是否在iPad应用程序内浏览器中运行?

[英]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 ....
}

检查来源:

http://www.bennadel.com/blog/1950-Detecting-iPhone-s-App-Mode-Full-Screen-Mode-For-Web-Applications.htm

我今天也有这个问题。 我在比较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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM