ios - 在 UIWebView 中打开网站作为 Safari?

标签 ios uiwebview safari mobile-safari

例如网站“m.freemyapps.com”拒绝所有浏览器甚至 UIWebView 并仅请求 Safari。

是否可以让我的应用程序本身显示为 Safari?

最佳答案

如果我正确理解你的问题,你可以做以下两件事中的任何一个 -

1) 您可以重定向用户离开应用程序并在 Safari 中打开移动网站。

2) 对于移动站点支持,UIWebView 可能需要在请求中添加额外的 User-Agent header 字段,模仿 Safari。 例如

NSURL *url = [NSURL URLWithString:@"m.freemyapps.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setValue:@"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like   Gecko) Version/3.0 Mobile/1A543a Safari/419.3" forHTTPHeaderField:@"User-Agent"];
[webview loadRequest: request];

在大多数情况下,此解决方案应该有效。如果没有,您应该通过特定移动网站的服务器端实现来了解是否需要发送额外的 header 。

关于ios - 在 UIWebView 中打开网站作为 Safari?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19475061/

相关文章:

swift - 快速禁用 UIwebView textField 中的键盘

ios - 如何使用 NSURLProtocol 模拟 AJAX 调用?

iOS UIWebView 加载完成后不会更新其大小

ios - 什么时候发布核心基础或核心图形对象?

ios - 使用单个 SKShapeNode 渲染多个重叠的多边形?

JavaScript:哪些浏览器支持使用 Date.parse 解析 ISO-8601 日期字符串

google-chrome - Firefox、Chrome、Safari 对于 MP4 HTML5 视频有灰色背景

javascript - 没有文件阅读器的 Angularjs 图像预览

ios - 一个 cellForRowAtIndexPath 中的 3 个不同的 UITableViewCell

ios - 如何将文件从 Mac 应用程序传输到 iOS 查看器?