0

我希望能够区分在 iphone 或 ipad 中包含的普通 Safari 上访问我的网站的用户与在原生 iOS 应用程序中通过 UIWebView 访问相同内容的用户之间的区别。

我希望有一种方法可以使用 javascript 和用户代理字符串?任何正确方向的进一步调查将不胜感激!

谢谢!

4

1 回答 1

0

我建议您在本机 iOS 应用程序的 URL 字符串中发送一个 GET 变量,并将该值保存到您的网络服务器上的会话变量中。然后使用 session 变量为 Mobile Safari 和 UIWebview 做不同的事情

当您请求您的站点时,在您的 iOS 应用程序中添加获取变量

iOS

NSString *urlQueryString = @"?BrowserType=iOSNative";
NSString *URLPath = [NSString stringWithFormat:@"http://www.yoursite.com/%@",urlQueryString ];
NSURL *requestURL = [NSURL URLWithString:URLPath];
NSURLRequest *request = [NSURLRequest requestWithURL:requestURL];
[self.webview loadRequest:request];

PHP

if(isset($_REQUEST['BrowserType']))
{
    //Used for tracking is this is an iOS Native App user.   
    //This will not be set by the mobile browser user
    $browserType = filter_var($_REQUEST['BrowserType'], FILTER_SANITIZE_STRING);
    $_SESSION['BrowserType']=$browserType;
}
if ($_SESSION['BrowserType']=="iOSNative")
{
    echo 'This is the native App and shouldn't display on the mobile page';
}
于 2014-07-09T15:53:30.957 回答