美文网首页
easyjswebview reloding 后无法交互和崩溃问

easyjswebview reloding 后无法交互和崩溃问

作者: Bear_HJ | 来源:发表于2016-07-29 09:07 被阅读979次

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

    首先我的项目需求是使用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:hjtcsx@163.com

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

    相关文章

      网友评论

          本文标题:easyjswebview reloding 后无法交互和崩溃问

          本文链接:https://www.haomeiwen.com/subject/ntczjttx.html