为了账号安全,请及时绑定邮箱和手机立即绑定

PDF.JS 异常处理

标签:
JavaScript

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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消