4

次のコードは正常に機能しますが、アプリに戻ると次のコードが実行され続けますが、停止する理由と方法がわかりません。私はそれがios5.0でのみ起こっていると思います:アプリフロー-rootviewcontroller-> mainviewcontroller-> webview

次のコードは、 mainviewcontrollerのwebviewのshouldstartloadrequestメソッドで呼び出されます

@property (readwrite, retain) UIWebView *_loginWebView;
...
..
- (void)viewDidLoad
{
    [super viewDidLoad];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [_loginWebView loadRequest:requestObj];
}

// webviewがURLを開くリクエストを受け取るたびに、followingが呼び出されます

   - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
            //return no is a special case there is more code in the method which I am not showing here
           if ([[UIApplication sharedApplication] canOpenURL:myURL]) 
           {
                  [[UIApplication sharedApplication] openURL:myURL];
           }
           else
           {
                  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:newPath]];
           }
           return NO;
     }
     //above is a special case

}

ヘッドタグの内容-

<head>
<meta name="viewport" content="width=device-width,initial-scale=1" />
  <!-- iOS Stuff -->
  <link rel="apple-touch-icon" href="images/...."/>
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <link rel="shortcut icon" href="favicon.ico" />
  <script async="async" src="https://......."></script>
  <script type="text/javascript">
..........
  </script>
</head>
4

3 に答える 3

0

myURLのヘッダーにメタリフレッシュが設定されていますか?Webページがリロードされている場合、このメソッドが呼び出されます。リダイレクトがある場合にも呼び出されます。

于 2013-01-18T00:44:33.587 に答える
0

私があなたの質問をよく理解しているなら、問題は

  1. アプリを起動し、mainViewControllerに移動します。ビューが読み込まれた後、iOSは別のアプリケーションでURLを開くことができます。
  2. 他のアプリケーションが開かれ、アプリケーションに戻ると、WebビューはURLを自動的にリロードします。

したがって、問題は、WebビューがURLを自動的にリロードする理由です。

上記のコードから、デリゲートは常にNoを返し、他のことを行うため、Webビューを使用する必要がないことがわかります。

なぜ今これが起こっているのかわかりません。できれば、これで問題が発生したWebビューを削除してください。

この回答は削除されます。

于 2013-01-18T03:30:18.990 に答える
0

これはIOS5.0のバグで、アプリがフォアグラウンドに戻ったときにWebビューに戻ると、更新されます....サファリと同じように...

しかし、アップルはIOS6.0でこのバグを修正しました

したがって、それについては何もできなかったでしょう。

于 2013-06-16T03:54:44.440 に答える