2013-03-26 3 views
1

웹 뷰에 표시되는 리소스 번들에 html 파일이 있습니다. html 페이지에는 인터넷상의 웹 사이트에 액세스 할 수있는 링크가 있습니다. html 페이지에서 링크를 터치 할 때마다 도달 가능성을 확인하고 싶습니다. 어떻게해야합니까?웹 뷰에서 링크 도달 가능성

도달 가능성을위한 iOS 샘플 코드에는 html 페이지에 대한 테스트가 직접 있습니다. HTML 페이지에서 링크를 터치 한 경우 어떻게 감지합니까? 나는 이것이 알림을 설정하는 것과 관련이 있다고 생각하지만 어떻게해야할지 모르겠다.

답변

0

<UIWebViewDelegate> 방법 webView:shouldStartLoadWithRequest:navigationType:가 도움이 될 것입니다. 대리인에 구현하고 도달 가능성 테스트를 수행하고 적절한 경우 YES 또는 NO를 반환합니다. HTML에서

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    NSLog(@"loading %@", request); 
    return YES; 
} 
+0

알고 나는이 일을하고 번들의 초기 페이지는 웹 페이지와 같은 "아니오 연결"오류가 발생합니다. 첫 페이지가 인터넷 상태를 확인하고 번들로 표시하지 않도록하고 싶습니다. 그런 다음 도달 가능성 테스트를 사용하고 싶습니다. 번들에서 첫 번째 페이지의 shouldStartLoadWithRequest를 무시하는 방법을 찾지 못했습니다. – LarryB

0

사용이 자바 스크립트 함수가 도달 가능성 (reachablity)

function CheckOnlineStatus() 
    { 
       var returnValue = false; 
        
       // do your thing!function checkConnection() { 
       var networkState = navigator.network.connection.type; 
        
       var states = {}; 
       states[Connection.UNKNOWN]  = 'offLine'; 
       states[Connection.ETHERNET] = 'Ethernet connection'; 
       states[Connection.WIFI]     = 'WiFi connection'; 
       states[Connection.CELL_2G]  = 'Cell 2G connection';//Cell 2G connection 
       states[Connection.CELL_3G]  = 'Cell 3G connection';//Cell 3G connection 
       states[Connection.CELL_4G]  = 'Cell 4G connection';//Cell 4G connection 
       states[Connection.NONE]     = 'offLine'; 
        
        
       if(states[networkState] != 'offLine') 
       { 
           returnValue = true; 
       } 
        
       return returnValue; 
    } 
+0

테스트 목적으로 iOS에이 값을 어떻게 얻습니까? – LarryB

+0

http://stackoverflow.com/questions/15537320/invoke-method-in-objective-c-code-from-html-code-using-uiwebview/15541607#15541607이 링크를 클릭하면 – Vinodh