1

我正在开发一个带有UIWebView. 在 iOS 上的 Safari 应用程序中显示时显示的网页UIWebView工作正常,但是当它显示在里面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

我建议定义委托方法:

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

并在那里放置一些 NSLog 跟踪,以便您可以看到正在发生的事情。Safari 可能比 UIWebView 对错误更有弹性(或以更友好的方式处理它),因此行为上的差异。但是你应该直接在你的应用程序中检查它......

于 2012-05-05T10:12:26.583 回答
0

好吧,使用此代码调试您的 UIWebView 我在您的 javascript 中发现了与资源相关的 2 个异常/WebResource.axd。检查一下,我希望它有用。

于 2012-05-05T14:04:37.740 回答
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 回答