0

プロジェクトで使用UIWebViewしています。webViewDidFinishLoadメソッドを呼び出さないこともあります。Web ページにはいくつかの JavaScript が含まれているためです。方法

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

は電話を受けていますが、受けていwebViewDidFinishLoadません。その方法をキャッチしたい。webview の読み込みが開始されたときにアニメーションを開始するためです。次に、このアニメーションが終了したら停止します。JavaScript コンテンツを含む Web サイトでは機能しません。誰でもアイデアがありますか?

ありがとう

4

2 に答える 2

0

どうやら、iosのwebviewは、htmlのdomの「iframe」タグを特にチェックし、見つかった場合は、そのタグに基づいてイベントも作成します。したがって、単純ですがパッチの多い解決策は、変更されている dom の部分 (たとえば、各セクションの実際のテンプレート) に次のコードを追加することです。

<iframe></iframe>

私のためにトリックをしました..

于 2015-08-05T10:53:12.843 に答える
0

webViewDidFinishLoadが URL のロードを完了すると、メソッドが呼び出さUIWebViewれます。この場合、 を呼び出しているため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;


}
于 2013-04-29T08:45:40.390 に答える