移动端嵌入pdf.js远程请求pdf出现(206)_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 移动端嵌入pdf.js远程请求pdf出现(206)

移动端嵌入pdf.js远程请求pdf出现(206)

 2016/11/29 5:31:44  iV5  程序员俱乐部  我要评论(3)
  • 摘要:最近在做移动端的开发,需要嵌入pdf进行预览。看了很多的js组件后选择了pdf.js;使用起来还是比较方便的,至于使用网上有很多的教程。但在使用过程中出现了如下一个问题(我做的是IOS系统):问题是由于服务器对http的get请求进行了数据的部分响应,导致pdf无法继续打开。尝试了很多方法,修改请求头等方式都不成功;最后,通过查询pdf.js中的compatibility.js发现它里面对disableRange和disableStream进行了判断。唯独没有对IOS系统做判断
  • 标签:JS 远程

最近在做移动端的开发,需要嵌入pdf进行预览。看了很多的js组件后选择了pdf.js;使用起来还是比较方便的,至于使用网上有很多的教程。

但在使用过程中出现了如下一个问题(我做的是IOS系统):

问题是由于服务器对http的get请求进行了数据的部分响应,导致pdf无法继续打开。尝试了很多方法,修改请求头等方式都不成功;

最后,通过查询pdf.js中的compatibility.js发现它里面对disableRange和disableStream进行了判断。唯独没有对IOS系统做判断,所以导致了以上请求问题;

借鉴github中大牛们的解决方式,成功解决了以上问题。

方式如下:1、在compatibility.js中添加对ios系统的判断;

              var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(navigator.userAgent); 

              2、在判断中添加此项

      if (isSafari || isOldAndroid || isChromeWithRangeBug || isIOS) {
          PDFJS.disableRange = true;
          PDFJS.disableStream = true;
      }

     3、保存即可;

注:以上是对常用的浏览器和移动端系统做了判断,如别的浏览器或者系统,可根据实际情况进行扩展。

     

    网友 2017/5/4 10:38:03 发表

    很好的解决了我的问题,谢谢

    网友 2017/4/10 14:57:01 发表

    请教一下是如何解决的,谢谢

    网友 2017/4/10 10:26:25 发表

    为什么我的不可以,是和手机版本有关系吗?请帮忙解答,谢谢

发表评论
用户名: 匿名