2013-04-25 3 views
0

Я хотел бы рассказать разницу между пользователем, попавшим на мой веб-сайт в обычном Safari, как включенным в iphone или ipad, VS, который использует один и тот же контент через UIWebView в родном приложении iOS.Могу ли я обнаружить пользователя на Mobile Safari (iphone) VS UIWebView (WebKit) с javascript?

Я надеялся, что с помощью javascript и пользовательских строк будет существовать способ? Любая точка в правильном направлении для дальнейшего изучения будет принята с благодарностью!

спасибо!

+0

Я не знаю, что возможно с помощью JS, но строки пользовательских агентов можно манипулировать lated ... – HAS

+2

http://stackoverflow.com/questions/2143763/does-uiwebview-send-the-same-user-agent-in-the-request-headers-as-mobile-safari – Emmanuel

+1

спасибо, что это определенно полезно, Я бы хотел, чтобы что-то было немного более «официальным» в случае, когда слово «сафари» когда-либо появлялось в пользовательском агенте, но, я думаю, теперь это нужно будет сделать – korben

ответ

0

Я предлагаю вам отправить переменную GET в строку URL-адреса в исходном приложении iOS и сохранить это значение для переменной сеанса на вашем веб-сервере. Затем с помощью переменной сеанса, чтобы сделать вещи разные для Mobile Safari и UIWebView

В вашем IOS App, когда вы запрашиваете ваш сайт добавить Получить Variable

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'; 
} 
Смежные вопросы