假设某人正在使用UIWebView在一个简单的iOS应用程序中直接运行Web应用程序。 可以使用JavaScript等网络技术在浏览器(Safari Mobile)中打开外部网站链接吗?如果是的话,怎么办呢?
答案 0 :(得分:2)
以编程方式打开网址:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://www.google.com"];
就WebView而言,您可以使用WebViewDelegate来捕获和检查用户选择的任何超链接。例如:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *urlPath = [request URL];
if (navigationType == UIWebViewNavigationTypeLinkClicked)
{
if ([[urlPath scheme] hasPrefix:@"http"]))
{
[[UIApplication sharedApplication] openURL:urlPath];
return (NO);
}
}
return (YES);
}
这应该打开浏览器应用程序中的任何超链接。
您还可以创建自定义协议,请参阅Android / iOS - Custom URI / Protocol Handling,并通过检查[url scheme]属性捕获同一委托处理程序中的协议。这将允许您使用javascript明确执行某些操作。