移動端嵌入pdf.js遠程請求pdf出現(206)


最近在做移動端的開發,需要嵌入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、保存即可;

注:以上是對常用的瀏覽器和移動端系統做了判斷,如別的瀏覽器或者系統,可根據實際情況進行擴展。

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM