【发布时间】: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