easyjswebview reloding 后无法交互和崩溃问题

第一次在上写技术文章,因为自己发现这个问题在中文的资料里没有解决方案,所以在这儿给大家分享一下我的经验。

首先我的项目需求是使用easyJsWebview这个框架进行native 端和网页的一个交互,在其中一个环节需要reloading 网页 刷新以后进入一个新的域名,可是当刷新以后就会出现 breaking up,崩溃的情况,以及交互事件无法响应的情况。在这里 我的解决方式是将之前的 easyWebview 移除 并滞空重新创建easyWeb.


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

if ([Global getGlobal].firstload) {

[easyWeb removeFromSuperview];

easyWeb = nil;

easyWeb = [[EasyJSWebView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height)];

[self.view addSubview:easyWeb];

easyWeb.backgroundColor = [UIColor lightGrayColor];

easyWeb.delegate = self;

JSCommonMethod *plugin = [JSCommonMethod new];

[easyWeb addJavascriptInterfaces:plugin WithName:@"CallPhone"];

[easyWeb loadRequest:request];

NSLog(@"重新刷新");

[Global getGlobal].firstload = false;

return NO;

}

同时我也是采取了stackoverflow 上同样的 方法,个人认为reloading 之后无法完成交互时间的原因在于 easyWeb 与Bridge 通信断开了链接,必须重新声明一个easyWeb 并注册 类方法。

如果有疑问可以与我一并探讨分享技术,QQ:335297434 EMAIL:[email protected]

参考的stackOverflow 的地址 http://stackoverflow.com/questions/22714373/easyjswebview-breaks-when-reloading-the-webview

你可能感兴趣的:(easyjswebview reloding 后无法交互和崩溃问题)