大家。 我正在构建一个使用web和Xcode的hybric应用程序。第一次,我使用webview打开web应用程序,其中包含一个菜单(在主屏幕上)。我使用shouldStartLoadWithRequest在请求之前获取请求URL。然后,当用户触摸该菜单上的按钮时,我看到URL发生了变化但是应该调用了StartLoadWithRequest方法,我需要在它请求知道它将导航的位置之前获取该方法中的URL。有人能为我解释一下吗?我对网络一无所知。非常感谢你。
答案 0 :(得分:0)
据我了解,函数shouldStartLoadWithRequest
仅针对要加载内容或加载新webview框架的网址调用。
可能会分配给实际不加载页面的javascript的网址很少,可能无法正常工作。您是否需要在链接导航发生之前拦截它。
如果您提供了manu链接将执行的操作(<a href="...">
或javascript)的详细信息,它还有助于提供更好的答案。
答案 1 :(得分:0)
我无法弄清楚问题是什么,但以下是我的诀窍: 我检测到URL发生了变化,但它没有请求数据。我使用UITapGestureRecognize来检测用户何时点击webview并在延迟0.01s后执行操作以获取URL。此时,URL将更改为新页面的新URL。获取URL后,我实现了与该URL相对应的内容。