ios 怎么在webview 上添加按钮

ios 怎么在webview 上添加按钮,第1张

每次点击网页中的按钮都会刷新UIWebView, 并且会走 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 这个代理方法 里面可以判断那条链接,来判断点击了哪个按钮, PS.还可以直接让前端用JS来做调用手机端部分硬件。

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

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

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

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

为navigation增加返回按钮, 为返回按钮增加返回事件, 判断当前webview是否可返回, 可以直接webview goback 不行直接navigation pop 方法就是 你只需要完成 webView的JS脚本和原生代码的通信。 在坛子里搜 webview + JS 有现成的例子


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

原文地址: http://outofmemory.cn/bake/11407804.html

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

发表评论

登录后才能评论

评论列表(0条)

保存