102 error

目的

app项目首页banner功能,点击进入活动页面。由于web微站早已上线,为了不重复开发
(其实就是偷懒,为啥要重复开发一个一模一样的页面,而且用rn构建活动页,那么多不同的模板,搞死人咯��)。

思路

  1. 最终采取采取app内嵌微站webview页面。
  2. 点击banner跳转至微站web页面。
  3. 活动页点击商品跳转至原生商品详情页(其实后来考虑抽象的WebViewFilter.js业务抽象类,原则是有原生就跳原生)。

遇到的坑

点击banner进入拦截器了并且也跳转了对应的原生页面,可是从详情页返回后,尽然。。。��,什么鬼??
102 error

分析

分析ios报错

  1. 参考 Domain=WebKitErrorDomain Code=102 内容,说是因为url不完整,在网站前拼接一个@”http://”可以解决。排查了下,不是上述问题,url是完整的。

  2. 看ios日志

   void SendDelegateMessage(NSInvocation *): delegate (webView:decidePolicyForNavigationAction:request:frame:decisionListener:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode

查了下说好像是因为多次发送请求导致的,就是多次同时创建 iframe被ios拦截导致卡住了。我看了下页面没有iframe,并且没有多次请求的情况,我就是点了一个商品的连接啊啊啊,ORZ。。。。

分析web页面代码

  1. 查看具体活动页面浏览器中的html代码,其跳转的url为“/mobile/product/content/201706/147149.html”
  <li><a href="/mobile/product/content/201706/147149.html" class="ui-link"><div><img src="http://image.com/n1/jfs/t2479/126/1824111579/264665/d911e030/56de95a0Nbe0fcefa.jpg" alt=""></div>    <div class="txt-con"><p class="txt-con-name">水星家纺出品 百丽丝家纺 全棉斜纹印花四件套 浮岗翠 双人1.5米床</p><div class="yPrice"><span class="pText">抢购价:</span><span class="pColor">暂无报价</span></div></div></a></li>
  1. 可是点击后跳转页面却是,http://www.website.com/mobile/product/content.jhtml?brandId=3524&productCategoryId=1626&productId=147149,什么鬼?

  2. 去看服务端代码后发现服务端有拦截器,用于判断客户端请求是移动端,还是pc端,最终redirect到对应请求页面。所以是不是因为重定向导致的问题呢?
    别的页面没重定向页面都正常,只有详情页有问题,所以判断是因为重定向导致了102.

解决方法

根据下面参考的连接,我采用了如下方法解决,找到RN webview的源码路径为:项目名称/node_modules/react-native/React/Views/RCTWebView.m

 - (void)webView:(__unused UIWebView *)webView didFailLoadWithError:(NSError *)error{// Ignore NSURLErrorDomain error -999.if (error.code == NSURLErrorCancelled) return;// Ignore "Fame Load Interrupted" errors. Seen after app store links.if (error.code == 102 && [error.domain isEqual:@"WebKitErrorDomain"]) return;if (_onLoadingError) {if ([error.domain isEqualToString:NSURLErrorDomain] && error.code == NSURLErrorCancelled) {// NSURLErrorCancelled is reported when a page has a redirect OR if you load// a new URL in the WebView before the previous one came back. We can just// ignore these since they aren't real errors.// http://stackoverflow.com/questions/1024748/how-do-i-fix-nsurlerrordomain-error-999-in-iphone-3-0-osreturn;}NSMutableDictionary<NSString *, id> *event = [self baseEvent];[event addEntriesFromDictionary:@{@"domain": error.domain,@"code": @(error.code),@"description": error.localizedDescription,}];_onLoadingError(event);}}

参考

webview error code:102 Domain=WebKitErrorDomain Code=102

react native 0.44.3 ios webview 102 error相关推荐

  1. React Native 0.44.3 ----------微信h5支付

    本篇记录ios使用ReactNative完成微信h5支付的一些注意事项. a. 支付完成或者取消微信h5支付,会跳转到手机默认的浏览器中(safari),无法回到原App. b. 如何获得支付状态?? ...

  2. React Native 0.50版本新功能简介

    React Native在2017年经历了众多版本的迭代,从本人接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案.虽然,目前存在着很多的功能 ...

  3. 爱奇艺回应遭做空;百度 App 部分频道停更;React Native 0.62 发布 | 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  4. React Native 0.59.0 发布,使用 React 编写原生应用

    React Native 0.59.0 发布了.React Native 使开发者只使用 JavaScript 也能编写原生移动应用. 新版更新亮点: React Hooks React Native ...

  5. 余承东吐槽苹果续航;微软 IE 浏览器被曝漏洞;React Native 0.61.0 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  6. 苹果收购英特尔手机芯片业务;西门子将在华建立 5G 研发中心;React Native 0.60.4 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  7. 9月27日科技资讯|余承东吐槽苹果续航;贾扬清担任阿里巴巴开源技术委员会负责人;React Native 0.61.0 发布

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 整理 | 胡 ...

  8. react native 0.56.0

    2019独角兽企业重金招聘Python工程师标准>>> 0.56.0 更新日志 能力有限,如有问题,请包涵(哈哈)原文请点击 欢迎 React Native 2018年6月份正式版的 ...

  9. 【REACT NATIVE 系列教程之十二】REACT NATIVE(JS/ES)与IOS(OBJECT-C)交互通信

    一用到跨平台的引擎必然要有引擎与各平台原生进行交互通信的需要.那么Himi先讲解React Native与iOS之间的通信交互. 本篇主要分为两部分讲解:(关于其中讲解的OC语法等不介绍,不懂的请自行 ...

最新文章

  1. python 程序设计思维_Python程序设计与算法思维
  2. 【运筹学】线性规划 单纯形法 阶段总结 ( 初始基可行解 | 判定最优解 | 迭代 | 得到最优解 | 全流程详细解析 ) ★
  3. 无穷级数求和7个公式_亿图在线公式编辑器使用方法入门篇
  4. STM32L1X系列GPIO运用
  5. 数据服务器性能测算依据,如何对服务器性能计算的公式参考(tpmc-tpcc).pdf
  6. HTML嵌入php已经过时,**PHP, 这段嵌入html的php代码为何第15、16、17行报错?**
  7. 卷积神经网络CNN是靠什么线索学习到深度信息的?
  8. spring 随笔(一) bean Dependency Injection
  9. Dijkstra算法求单源最短路径
  10. Q120:PBRT-V3,“直接光照”积分器(14.3章节)
  11. 一个mapper接口有多个mapper.xml 文件_MyBatis 源码解析:映射文件的加载与解析(上)
  12. sql server2016还原数据库
  13. NoSQLBooster for MongoDB延长使用时间
  14. 用docx把文字写入word并且插入图片、表格
  15. MuseScore入门教程(一、下载,并新建乐谱)
  16. 个人总结感想系列 - 2013年工作和生活总结
  17. data mining blog (foreign)
  18. android 平板版 office,Android平板版Office评测:界面繁杂影响用户体验
  19. 爬取大众点评评论-字体加密解析!这个网站很难搞出来!
  20. 使用Python实现超级趋势指标(Super Trend Indicator)

热门文章

  1. 基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现
  2. google research
  3. Toward a More Complete, Flexible, and Safer Speed Planning for Autonomous Driving via Convex Optimiz
  4. Word 2007 2010 书法字帖 停止保护
  5. 凝血酶分子机器人_DNA折纸(DNA Origami)技术搭载凝血酶分子阻断肿瘤供血
  6. 第三次经济大洗牌,你是否抓得住
  7. cdn加速华为云obs桶文件配置过程(详细)
  8. OJ每日一练——药房管理
  9. 电子元件行业介绍及分析——ERP解决方案
  10. 计算机中心年度总结,2008年度计算机实验中心年度工作总结