2012-05-05 4 views
1

UIWebView으로 iOS 앱을 만들고 있습니다. UIWebView에 표시된 웹 페이지는 iOS의 Safari 앱에 표시 될 때 정상적으로 작동하지만 UIWebView 안에 표시되면 "로그인"버튼을 누르는 경우 아무런 반응이 없습니다. http://www.bnpsolutions.com/Common/Login_Mobile.aspx.Safari 앱과 다르게 동작하는 UIWebView

누군가가 이유를 알고 있습니까?

당신은 여기 내 작은 아이폰 OS 예제 프로젝트를 다운로드 할 수 있습니다 이 http://uploads.demaweb.dk/WebView.zip

EDIT1 :

내가 변경 한 웹보기가 a simple page which just including 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를로드 할 수 없습니다?

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

을하고 무슨 일이 일어나고 있는지 볼 수 있도록 일부 NSLog가 추적 넣어 :

+0

글쎄, 난 그냥 테스트 ... 그리고 괜찮아요 : username 'hi', password 'none'-> 보안 오류 –

+0

나는 다시 검사했고 "가끔"실패합니다. 이상한 –

+0

'UIWebView'? – dhrm

답변

0

글쎄,이 code UIWebView를 디버깅하는 데 사용하여 귀하의 자바 스크립트에서 2 개의 예외가 발견되었습니다 /WebResource.axd. 그것을 확인하고 유용하게 사용되기를 바랍니다.

+0

샘플 프로젝트를 나와 공유 할 수 있겠습니까? – dhrm

+0

예, 물론입니다. 나는 http : //www.filedropper에 업로드했다.co.kr/webview –

+0

내 EDIT1을 참조하십시오. – dhrm

0

나는 대리자 메서드를 정의하는 건의 할 것입니다. Safari는 UIWebView보다 오류에 더 탄력적 (또는 우호적 인 방식으로 처리) 할 수 있으므로 동작의 차이가 발생할 수 있습니다. 하지만 귀하의 응용 프로그램에서 직접 확인해야합니다 ...

+0

원래 프로젝트에서 이미 완료했습니다. 'webView : didFailLoadWithError :'delegate 메소드는 호출되지 않습니다. – dhrm

0

생성 된 오류 메시지와 관련하여 UIWebView는 실제로 jQuery를로드 할 수 있습니다. UIWebView를 디버깅하는 방법에 대한 주석의 링크를 기반으로 예외에 대한 메시지가 표시됩니다. 예외가 발생했는지 여부에 관계없이 예외가 발생합니다.

jQuery의 특정 함수는 의도적으로 예외를 발생시키고 (catch하는) 함수의 시작 부분에 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]; 

여부, 예외가보고됩니다.

관련 문제