PDF.JS 异常处理

作者: 肆意木 | 来源:发表于2018-10-10 21:33 被阅读3次

    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("服务器异常")
      })
    

    相关文章

      网友评论

        本文标题:PDF.JS 异常处理

        本文链接:https://www.haomeiwen.com/subject/ooimaftx.html