ios怎么实现了本地帐号和webview的互通

ios怎么实现了本地帐号和webview的互通,第1张

通过webview的delegate方法

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

在上面这个函数中,通过截取NSURLRequest解析js中传递过来的参数,和网址再根据参数来调用已定义好的方法。

之前的想法是通过webview的navigationDelegate的各个生命周期中,判断webview的canGoBack属性,但是有不少缺陷:

比如单页应用的跳转不会触发生命周期,如果在didFinishNavigation中判断canGoBack,这要等页面加载完成才会执行,有很大的延迟.

下面是解决方案,其实很简单,就是通过kvo来监听canGoBack的变化:

根据微信的体验,微信的底部前进后退的状态判断也是根据监听canGoBack canGoForward来动态配置的


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11363462.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存