iOS SDK和alert

69 阅读1分钟

SDK平台加载页面,有一个页面url拼接参数重新加载的逻辑。Android和Windows都没有问题,但是iOS平台一直触发ajax的error回调中的alert方法!

问题定位

  1. 通过alert提示信息定位具体触发位置,均是ajax请求的error回调
  2. 二次页面加载同样的接口没有触发错误
  3. 如果取消二次重载,初次加载页面不会触发错误
  4. 询问iOS端alert方法处理的逻辑,给出的答案是SDK不支持直接调用alert,需要webview拦截后通过SDk实现JS的alert功能
  5. 询问Android端和Windows端,未进行类似处理
  6. 为何初次加载的时候会导致ajax请求失败?
  7. 因为二次加载页面的时候速度太快,导致初次加载时请求的接口未完成就直接中断,导致error
  8. 为何Android端和Windows端不会触发类似错误?
  9. 这两端的alert是js原生方法,页面直接加载可以将初次的aler覆盖忽略,但是iOS是SDK实现的,无法自动覆盖重载

解决方案

判断当前页面是否存在二次加载的参数,如果存在进行ajax请求,如果不存在直接拦截请求!