今天项目中要集成H5,并且要实现前进和后退,如下图:
image.png
自定义前进和后退功能,方法就调用系统的goBack和goForward方法,当H5加载完后,用canGoBack和canGoForward判断是否可以前进和后退。
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
[MINISOCommonLoadingView hideToSuperview:self.view];
//屏蔽标签
[self jsInteraction];
//实时更新前进和返回状态
[self updateBackAndForward];
}
之前都好好的,但是后退突然发觉了一个问题,就是点击返回时,发觉只返回到图上所示的界面,左侧菜单栏没消失。而且还能点击后退。继续点击后退发觉又没有执行后退操作。
找了了好久才发觉是后退时,加载失败。这时我们可以在加载失败时,刷新一下就好了。
-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error
{
[MINISOCommonLoadingView hideToSuperview:self.view];
[_webView reload];
}
网友评论