Not allowed to navigate top frame to data URL问题

网友投稿 791 2022-05-30

记下谷歌浏览器下面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"

# 解决方法

iframe

var string = doc.output('datauristring')

var iframe = "