【问题标题】:UIWebView not responsiveUIWebView 没有响应
【发布时间】:2009-10-12 02:41:49
【问题描述】:

我在拦截 UIWebView 中的 URL 点击时遇到了问题。我已经阅读并发现最常见的问题是链接有一个 target="_blank" 属性可以在新窗口中打开,但我的没有这样的属性。 URL 的格式为“/word”,其中 word 是任意词。必要时,我还会使用 %20 对它们进行编码。我的 UIWebViewDelegate 类甚至没有收到 shouldStartLoadWithRequest: 事件,什么也没发生。我也尝试在 HTML 中插入一个按钮,但这些按钮也没有响应。

还有其他规则来管理 UIWebView 将承认哪些 URL?我尝试过使用绝对 URL(甚至只是“http://www.google.com”),并且只用一个有效的谷歌链接替换整个 HTML 字符串,但都无济于事。真正奇怪的是,我可以找到一个可以工作的链接——它可以被点击,我成功地捕捉到了这个事件,但似乎(我看起来很努力)包含这个链接的 HTML 和其他。

鉴于我是 iPhone 平台的新手,我认为我很可能在做一些更根本性的错误。应用程序的流程如下所示:主视图是一个 UITableViewController,它允许用户从单词列表中进行选择。当一个词被选中时,一个新的 UIViewController 被创建并推送到屏幕上。这是带有 UIWebView 的视图,它显示从 SQLite 数据库加载的数据。下面是一些相关的代码。

//move from the UITableViewController to UIViewController with UIWebView
DetailViewController *viewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
...
[self.navigationController pushViewController:viewController animated:YES];

//load HTML and display it in a UIWebView
NSString *output = [NSString stringWithFormat:@"%@%@%@",header,definition,footer];
[definitionView loadHTMLString:output baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

任何帮助将不胜感激 - 用这个把我的头发拉了一段时间。

【问题讨论】:

  • 您是否尝试过使用其他 baseURL?比如假的 http:// URL?

标签: iphone uiwebview hyperlink


【解决方案1】:

你应该看看PhoneGap:http://phonegap.com/

PhoneGap 正是这样做的(基本上它是一个巨大的 UIWebViewDelegate,它使得为 iPhone 编写能够利用相机、GPS、加速度计等的 JavaScript 应用程序成为可能)。下载源代码,打开“iphone”文件夹中的PhoneGap.xcodeproj,查看PhoneGapDelegate 类。这是 UIWebViewDelegate 的一个很好的示例用法,很难找到更好的示例 :) 它当然有效。

【讨论】:

    猜你喜欢
    • 2011-05-08
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多