继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PDF.JS 异常处理

幕布斯6054654
关注TA
已关注
手记 1301
粉丝 219
获赞 1011

PDF.js 具体用法前面有写过,今天记录一下异常处理,我的 viewer.html 后面跟着的地址是服务器返回的地址然后用一个 iframe 标签加载,有时可能服务器发生异常,也可能打开瞬间被异地删除,再或者没有网络....

异常处理是在 pdf.js 的源码中增加代码,大约6287行,onStateChange 方法中监听:

onStateChange: function NetworkManger_onStateChange(xhrId, evt){
    ...
    ...
    ...
delete this.pendingRequests[xhrId];/*我是与后台协商,异常返回450,其它返回的状态码还没有增加处理*/if(xhr.status === 0 && this.isHttp) {    var eventClick = documet.createEvent('HTMLEvents');
    eventClick.initEvent('notNet',false,false);    window.dispatchEvent(eventClick);    return;
}else if(chr.status === 450){   var eventClick = documet.createEvent('HTMLEvents');
    eventClick.initEvent('fileErr',false,false);    window.dispatchEvent(eventClick);
}
  ...
  ...
  ...
}

调用 iframe 标签的文件增加监听:

   iframe.addEventListener('notNet',function(){       console.log("网络异常")
   });
   iframe.addEventListener('fileErr',function(){      console.log("服务器异常")
  })



作者:H_婷
链接:https://www.jianshu.com/p/111f8d10ae24


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP