【问题标题】:UIWebView didFinishLoad does not fire after link clicksUIWebView didFinishLoad 在链接点击后不会触发
【发布时间】:2012-10-31 18:26:38
【问题描述】:

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

问题是,webViewDidFinishLoad 似乎只在创建 webview 本身时触发一次。任何时候点击内部链接,它都不会再次触发。

在 onViewLoad 中,我确实将委托设置为 self,并且无论如何事情都相对到位,但这并不是在每次页面加载时都被触发。

这就是说。

应该StartLoadWithRequest 可以。但是,因为它正在启动请求,并且在事件触发时 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的方法数量有限让我郁闷..

【问题讨论】:

    标签: ios xcode uiwebview


    【解决方案1】:

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

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

    此外,这样做会以某种方式欺骗 webView,使其认为页面已更改,尽管直接更改了 URL。所以 webViewDidFinishLoad 在随后的页面加载库后永远不会触发。

    伤心。图书馆看起来也不错。

    【讨论】:

    • 抱歉,我不清楚您的解决方案。您是说解决方案是不在网址中使用#?
    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多