2013-04-29 63 views
0

我在項目中使用UIWebView。有時它不會調用webViewDidFinishLoad方法。因爲網頁有一些javascripts。方法webViewDidFinishLoad在網頁中使用javascript內容時不會調用

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

正在打電話,但webViewDidFinishLoad沒有。我想抓住那個方法。因爲我在webview開始加載時開始動畫。然後我想在完成時停止這個動畫。它不適用於具有JavaScript內容的網站。任何人有一個想法嗎?當UIWebView已完成加載的URL,你的情況

感謝

回答

0

webViewDidFinishLoad方法被調用,因爲要調用javascript,這不加載您的內容,它只是在你已經裝載調用javascript功能webview。基於但是YES你可以趕上JavaScript動作在同一個方法,你如下

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

    NSString *url = [[request URL] absoluteString]; 

    if(navigationType == UIWebViewNavigationTypeLinkClicked){ 

      if([url rangeOfString:@"SOMETHING"].length > 0){ 
      //if your action returns something appended in your url like the anchors work 

        //DO YOUR STUFFS  
      } 
    } 

    return TRUE; 


} 
0

顯然說明,在IOS檢查的WebView專門用於在HTML中的DOM「IFRAME」標籤,並在找到的情況下,它會創建活動在該標籤上。因此,一個簡單的但斑塊狀溶液將被加入在被改變DOM的一部分將下面的代碼(例如,在每個部分的實際的模板):

<iframe></iframe> 

確實起作用爲我..

相關問題