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:hjtcsx@163.com

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,132评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,223评论 4 61
  • 《再见,在也不见》 因为陈伯霖,看到这部电影;因为和我手机的主题一样,决定看下去。 三个故事,看似毫无关联,却离不...
    y糊图儿阅读 416评论 0 1
  • 幸福是什么?每个人都在追求幸福,可是又有谁懂得幸福的真正意义呢? 我们总是仰望和羡慕着别人的幸福,殊不知,自己也正...
    梦想修炼手册阅读 2,542评论 3 51
  • 夏夜 星河漫点鲛人泪,千丘空掷远沧溟。 流苏轻转玉栏静,暗草扶风滩里鸣。
    佩索莎Z阅读 136评论 0 1