iPad编程,IOS6。
有一个(UIWebView *)
helpview对象,使用
[helpView loadHTMLString:htmlString baseURL:baseURL];
成功加载并在html文件中有一个
<a href="didTap://touchme">here</a>
启用和处理超链接触摸。
一切正常,但是如果我然后启动NSURLRequest以获取外部网站然后返回到原始html文件,则html文件中的锚标记无法工作,我收到此错误:
WebKit在webView中丢弃了一个未捕获的异常:decisionPolicyForNavigationAction:request:frame:decisionListener:delegate:setObjectForKey:key不能为nil
我不认为IOS编程使用webkit,为什么会出现这个错误?以及如何恢复锚标签?
有趣的是,如果我发布并重新创建UIWebView对象而不是使用IBOutlet并保留它,一切正常。但是这造成了UIWebview保留计数的其他问题,这是我无法弄清楚的。
答案 0 :(得分:0)
您是否在应用程序的某处使用自定义NSURLProtocol?它可能甚至没有在使用您的UIWebView的相同代码中注册,也可能在调用loadRequest后注册:但是,由于请求异步加载(我相信)它仍然可能会干扰。在代码中的某处搜索[NSURLProtocol registerClass
,禁用所有这些内容并查看是否能解决问题。如果是,则解决方案可能会在自定义协议代码中修复异常。
答案 1 :(得分:0)
我今天在iOS 10.3上看到了这个错误。和你一样 - 我使用的是UIWebView,而不是WKWebView。在我的情况下,问题是由加载网址末尾的空格引起的。