0

この狂気への方法はありますか?追加のアプリケーションを実行する必要性を制限し、単に 1 つの Web サイト内にとどまるキオスク用のブラウザー アプリを構築しようとしています。

調査したところ、目的に応じて機能するはずですが、URI スキーム ( 、など)のdecidePolicyForNavigationActionフィルタリングを開始するにはどうすればよいですか? ありがとう!mailto://irc://

4

1 に答える 1

2

Web を閲覧するためにアプリケーションに WebView を実装していますね。
はいの場合は、WebPolicyDelegate プロトコルのリファレンスを調べてください。
特に次のデリゲートは興味深いかもしれません。

               - (void)webView:(WebView *)webView 
decidePolicyForNewWindowAction:(NSDictionary *)actionInformation 
                       request:(NSURLRequest *)request 
                  newFrameName:(NSString *)frameName 
              decisionListener:(id < WebPolicyDecisionListener >)listener

上記のデリゲートを使用すると、リクエストを含むあらゆるリクエストを検証できmailtoます。
URL スキームを検出し、ブロックするかどうかを決定する方法の簡単な例:

NSLog(@"Request URL scheme = %@",[[request URL] scheme]);
if([[[request URL] scheme]isEqualToString:@"mailto"])
{
    [listener ignore]; // Block Request
} 
else 
{
    [listener use]; // Allow Request
}
于 2012-09-17T21:26:41.750 に答える