Not allowed to navigate top frame to data URL問題

      網友投稿 1123 2025-03-31

      記下谷歌瀏覽器下面js生成PDF打開的時候報錯的問題

      var doc = new jsPDF();

      doc.autoTable({ html: '#print-table' });

      window.open(doc.output('datauristring'));

      在Chrome打開使用jsPdf生成的pdf報錯

      Not allowed to navigate top frame to data URL: data:application/pdf;base64,JVBERi0xLjMKMyAwIG9iag...

      # 原因

      由于data:xxx協議存在安全問題,編碼的url可能會被包含了一些攻擊代碼,被用來做網絡釣魚攻擊,所以Chrome 60 開始禁止頁面使用data:url的方式跳轉導航,包括以下幾種情況

      點擊跳轉

      window.open(“data:xxx”)

      window.location="data:xxx"

      Not allowed to navigate top frame to data URL問題

      # 解決方法

      iframe

      var string = doc.output('datauristring')

      var iframe = "