1

を使用してiOSアプリに取り組んでいUIWebViewます。に表示されるWebページUIWebViewは、iOSのSafariアプリで表示すると正常に機能しますが、内部に表示される場合は、UIWebView[サインイン]ボタンをタップしても何も起こりません:http ://www.bnpsolutions.com/Common/Login_Mobile.aspx 。

誰かが理由を知っていますか?

私の小さなiOSサンプルプロジェクトはここからダウンロードできます:http: //uploads.demaweb.dk/WebView.zip

編集1:

WebViewを変更して、jQueryを含む単純なページを表示するようにしました:http ://uploads.demaweb.dk/WebView2.zip

エラーメッセージは次のとおりです。

WebView[13623:11703] JavaScript exception: (/ajax/libs/jquery/1.7.2/jquery.js):5187 - SYNTAX_ERR - SYNTAX_ERR: DOM Exception 12
Line:
(function(){ 

UIWebViewがjQueryをロードできないのはなぜですか?

4

3 に答える 3

0

生成されたエラーメッセージに関して-UIWebViewは確かにjQueryをロードできます-例外について取得しているメッセージ(UIWebViewのデバッグ方法に関するコメントのリンクに基づく)は、例外が発生したときに発生します-例外がキャッチされるかどうか。

jQuery のその特定の関数には、関数の先頭近くに try/catch があり、意図的に例外を発生させようとします (そしてキャッチします)。

このコードを試して、私が何を意味するかを確認してください。

NSString *htmlString = @"<html><body>Hello World I am a <b>browser</b><script>(function(){try {var a=undefined; a();} catch (err) {} }());</script></body></html>";
[uiWebView loadHTMLString:htmlString baseURL:nil];

try/catch があるかどうかに関係なく、例外が報告されます。

于 2012-06-12T23:38:49.600 に答える
0

さて、このコードを使用して UIWebView をデバッグすると、リソースに関連する JavaScript で 2 つの例外が見つかりました/WebResource.axd。それを確認してください。役に立つことを願っています。

于 2012-05-05T14:04:37.740 に答える
0

デリゲート メソッドを定義することをお勧めします。

– webView:shouldStartLoadWithRequest:navigationType:
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError:    /* especially this one!! */

何が起こっているかを確認できるように、いくつかの NSLog トレースをそこに置きます。Safari は、UIWebView よりもエラーに対する回復力が高い (またはより使いやすい方法で処理する) 可能性があるため、動作に違いがあります。ただし、アプリで直接確認する必要があります...

于 2012-05-05T10:12:26.583 に答える