Отображать веб-контент в веб-представлении приложения iPhone с другой таблицей стилей, чем в Mobile Safari - PullRequest
0 голосов
/ 23 ноября 2010

Каков лучший способ по-разному отображать одну и ту же веб-страницу между Mobile Safari и WebView в приложении для iPhone?(Кажется, у обоих будет один и тот же пользовательский агент, так как еще я могу обнаружить разницу?)

1 Ответ

0 голосов
/ 24 ноября 2010

У них разные пользовательские агенты.Согласно whatismyuseragent.com,

Safari: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-gb) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5

UIWebView: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-gb) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C148

Различия составляют «Версия / 5.0.2» (соответствует маркетинговой версииMac Safari) и "Safari / 6533.18.5" (соответствует номеру сборки Safari).Я не уверен, почему Mobile / 8C148 (соответствует iOS 4.2.1) находится в центре обоих.

Кроме того, вы можете установить пользовательский агент, используемый UIWebView, с помощью "swizzling" - [NSMutableURLRequest setValue: forHTTPHeaderField:] или (возможно) переопределение - [NSURLRequest valueForHTTPHeaderField].Как этого добиться - упражнение для читателя.

...