链接点击后UIWebView didFinishLoad不会触发

时间:2012-10-31 18:26:39

标签: ios xcode uiwebview

我接管了一个项目,在这个应用程序中,这里的主要目标是拥有一个webview,并检查每个页面加载URL以进行字符串检查以确定需要进行哪些后台功能。

问题是,当创建webview本身时,webViewDidFinishLoad似乎只触发一次。无论何时单击内部链接,它都不会再次触发。

在onViewLoad中,我确实将委托设置为self,并且无论如何事情都相对适当,但同样不会在每次页面加载时触发。

这个说。

shouldStartLoadWithRequest DOES。但是,因为它启动了请求,并且在事件触发时URL没有完全加载,所以当我使用

时,它会获取请求页面的当前URL而不是目标URL
NSString *curURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];

其他函数要么不返回任何内容,要么与上面的函数完全相同

//NSString *curURL = self.webView.request.URL.absoluteString;
//NSString *curURL = webView.request.mainDocumentURL.absoluteString;

所以,我在这里不知所措,在Android上这样做比较简单,但webView的方法数量有限让我感到沮丧..

1 个答案:

答案 0 :(得分:0)

问题在于网站使用的是jQueryUI Mobile 1.0.4。这不仅通过在混合中添加#和下一个URL来加载URL,

<强> http://url.com/somepage.php?item=1#/somepage.php?item=2

另外,这样做,不管怎么说,尽管直接更改了URL,但webView仍然认为页面已经改变了。所以webViewDidFinishLoad永远不会在后续页面加载库后触发。

悲伤。图书馆也很好看。