Android下微信H5页面出现WeixinJSBridge is not defined的真正原因。

在安卓下的异常场景是,A页面调用了微信sdk的api(例如wx.getNetworkType),在api callback之前,用户点击后退按钮从A页面跳到了B页面,这时候这个callback函数被native注入到了B页面,由于这时候B页面刚刚加载进来,WeixinJSBridge还没有初始化完毕,这个callback就会失败,并报错。
我们捕获的demo:
A页面调用wx.getNetworkType,B页面会被注入javascript:WeixinJSBridge._handleMessageFromWeixin({"__json_message":{"__msg_type":"callback","__callback_id":"1020","__params":{"err_msg":"network_type:wifi"}},"__sha_key":"xxxx"}),然后就爆出"WeixinJSBridge is not defined"的错误。
过一段时间之后,weixin js sdk加载完毕,会有"WeixinJSBridge exec time"之类的提示,此时我们正常的wx.ready的代码可以执行。

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

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,610评论 1 45
  • 先天即为道,后天即为教(当然圣人不用教)。 道也者,其体为一,其德为静,其名为中,其境为至善。故圣人之教,一贯也,...
    路痴橘阅读 424评论 0 1
  • 几乎每一个可测量的心理特质,包括智商、人格、艺术能力、数学能力、音乐能力、写作能力、幽默风格、创意舞蹈、体育、幸福...
    烈日逐风阅读 270评论 0 0