2012-09-17 3 views
0

이 광기에 대한 방법이 있습니까? 추가 애플리케이션을 실행하고 하나의 웹 사이트 내에 머물러야 할 필요성을 크게 제한하는 키오스크 용 브라우저 앱을 개발하려고합니다.WebView에서 mailto 링크를 잡으십시오.

나는 연구와 decidePolicyForNavigationAction 내가 원하는 것을 위해 작동합니다 발견,하지만 난 (등, mailto://, irc://) URI 체계를 필터링 어떻게 시작합니까? 감사!

+0

didStartProvisionalLoadForFrame 이미 사용자가 지정한 범위 내에서 유지하기 위해 내 웹보기를 유지하는 좋은 일을하고있다. 이 방법을 통해 URI 체계에 대한 검사를보다 강력하게 만들 수 있습니까? – user1399039

답변

2

응용 프로그램에서 WebView를 구현하기 위해 WebView를 구현하고 있습니까?
예인 경우 WebPolicyDelegate Protocol 참조를 확인하십시오.
특히 다음과 같은 대리인이 관심의 대상이 될 수 있습니다 :

   - (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 
} 
관련 문제