是否有一个URI方案可以将Mobile Safari打开到特定的URL?
如,
<a href="safari://open_url/?url=google.com">Open Google in Safari</a>
答案 0 :(得分:5)
<强>更新强>: 因此,从iOS 6.0.2开始,仍然没有特定于MobileSafari的URL方案(见下文)。但是,Federico Viticci发布了一个interesting hack,允许您从Chrome for iOS调用Safari。它不像Chrome-to-Safari书签那样实用,但它确实表明可以从Chrome for iOS推出MobileSafari。
原始答案:
事实证明,您无法仅使用URI方案在Safari中打开链接。其他应用程序中的超链接可以使用openURL
在Safari中打开(请参阅其他答案),但是没有针对MobileSafari本身的方案(如果您使用Chrome或Opera中的超链接在Safari中打开链接,则需要此方案对于iOS)。
Google Chrome有以下两种URI方案:googlechrome://
和googlechromes://
(适用于HTTPS),其工作方式与任何其他特定于应用的方案一样(例如dayone://
,{{1} },或things://
)。
答案 1 :(得分:3)
好的,我想我明白你的要求。
让一个类实现UIWebViewDelegate协议。实施方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
只要用户单击webview中的链接,就会调用此方法。您可以获取用户点击的URL来检查request
参数。然后,您可以拦截要在移动Safari中打开的任何链接,而不是在webView中,然后在共享应用程序中调用-openURL:
,就像在我的其他答案中一样。
[[UIApplication sharedApplication] openURL:URLFromRequest];
答案 2 :(得分:2)
试试这个:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]];
答案 3 :(得分:-1)
window.location.replace("x-web-search://?your search here");
safari的URI方案是 - x-web-search://
这将在safari浏览器中打开您的搜索。