27

Mobile Safari を特定の URL で開くための URI スキームはありますか?

例えば、

<a href="safari://open_url/?url=google.com">Open Google in Safari</a>
4

5 に答える 5

5

更新:したがって、iOS 6.0.2の時点では、MobileSafariに固有のURLスキームはまだありません(以下を参照)。ただし、Federico Viticciは、iOS用ChromeからSafariを呼び出すことができる興味深いハックを投稿しました。ChromeからSafariへのブックマークレットほど機能的ではありませんが、ChromeforiOSからMobileSafariを起動できることを示しています。

元の回答:URIスキームだけを使用してSafariでリンクを開くことはできないことがわかりました。他のアプリのハイパーリンクはopenURL(他の回答を参照)を使用してサファリで開くことができますが、MobileSafari自体のスキームはありません(ChromeまたはiOSのOperaのハイパーリンクを使用してSafariでリンクを開く場合に必要になります)。

Google Chromeには、次の2つのURIスキームがあります。googlechrome://およびgooglechromes://(HTTPSの場合)他のアプリ固有のスキーム(、、、、など)と同じように機能dayone://things://ますsms://

于 2012-10-04T00:59:51.247 に答える
3

OK、私はあなたが求めていることを理解していると思います。

クラスにUIWebViewDelegateプロトコルを実装させます。メソッドを実装する

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

このメソッドは、ユーザーが Web ビューのリンクをクリックするたびに呼び出されます。パラメータを調べることで、ユーザーがクリックした URL を取得できrequestます。次に、webView 内ではなくモバイル Safari で開きたいリンクをインターセプト-openURL:し、他の回答のように共有アプリケーションを呼び出すことができます。

[[UIApplication sharedApplication] openURL:URLFromRequest];
于 2012-05-01T21:39:08.600 に答える
2

これを試して:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]];
于 2012-04-30T21:00:10.257 に答える
0

Webkit javascript ブリッジhttps://github.com/marcuswestin/WebViewJavascriptBridgeを使用することもできます

これにより、javascript から xcode にメッセージを送信できます。これを使用して、html ページから webview を閉じます。

self.bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView handler:^(id data, WVJBResponseCallback responseCallback) {
            NSLog(@"Received message from javascript: %@", data);
            if ([data isEqual:@"closewin!"])
                [self dismissModal];
        }];

ただし、これを使用して、サファリや必要なものにジャンプすることもできます

于 2015-08-16T12:09:56.787 に答える