首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iPhone的嵌入式浏览器中检测网页是否正在运行?

如何在iPhone的嵌入式浏览器中检测网页是否正在运行?
EN

Stack Overflow用户
提问于 2012-02-22 11:56:51
回答 2查看 1.1K关注 0票数 2

我有一个网页,使用自定义协议处理程序来打开应用程序。一个链接到Picup商店应用程序,供人们下载iTunes应用程序,另一个链接到fileupload://以打开Picup应用程序。

当页面加载到嵌入另一个应用程序(例如1Step Scanner条形码扫描仪)的Safari中时,当导航到这些自定义协议时,我得到一个错误消息-错误,加载网页失败!请再试一次。

我打算使用JavaScript来检测网页是否加载到嵌入式浏览器中,并显示一条消息要求用户使用Safari。

一种方法是检测用户代理字符串

嵌入式

代码语言:javascript
复制
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405

Safari

代码语言:javascript
复制
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3

但是,检测用户代理字符串中是否存在Safari一词是否适用于所有版本的iPhone?有没有更安全的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-19 04:48:15

显然,是的,这是最好的方法。

即使是Chrome for iOs也会在请求中包含单词Safari,所以假设来自iOs的没有单词"Safari“的请求来自嵌入式UiWebKit控件,那就没什么问题了。

票数 1
EN

Stack Overflow用户

发布于 2012-02-22 12:04:25

您可以为您的请求设置自定义的User-Agent ...下面是一个例子:

代码语言:javascript
复制
NSString *urlString= @"http://www.google.com";
NSURL *url = [NSURL urlString];
NSMutableURLRequest *requestObj = [NSMutableURLRequest requestWithURL:url];
[requestObj setValue:@"myCustomAgent_Mathboy:)/1.0" forHTTPHeaderField:@"User_Agent"];
[webView loadRequest:requestObj];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9388884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档