2011-11-30 55 views
0

是否有可能從uiwebview獲取信號?從uiwebview獲取信號

就我而言,我在webview中顯示一個網頁。當用戶按下網站上的按鈕時,我的應用程序應該(也)對此做出反應。

感謝您的幫助

回答

2

是的,你可以做到這一點。實施

– webView:shouldStartLoadWithRequest:navigationType: 

delegate。只要您的webview即將發出請求,就會調用此方法。所以現在當有人點擊你的網頁上的一個按鈕,你會得到一個這種方法的調用。在您接聽此通話後,您可以選擇隨心所欲地執行任何操作。如通過您自己的服務器重定向鏈接,或者向用戶活動等的服務器登錄請求。

示例 - 此處您試圖攔截在您的網頁上點擊的任何鏈接&先通過myMethodAction

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if(navigationType == UIWebViewNavigationTypeLinkClicked) 
    { 
     if(overrideLinksSwitch.on == TRUE) 
     { 
      [self myMethodAction]; 
      [myWebView stopLoading]; 
      return YES; 
     } 
     else 
     { 
      return YES; 
     } 
    } 
    return YES; 
} 

希望這有助於...

0

UIWebViewDelegate提供幾種方法。我曾經使用過其中一個像這樣

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { 
    if (inType == UIWebViewNavigationTypeLinkClicked) { 
     // do stuff 
     return NO; 
    } 

    return YES; 
}