窗口不允许将顶级框架导航导航到数据URL

Lon*_*eer 6 javascript asp.net-mvc pdf-generation google-chrome

以下代码将在新窗口中打开pdf文件.

var pdfDocument = "data:application/pdf;base64," + data;
window.open(pdfDocument);
Run Code Online (Sandbox Code Playgroud)

更新chrome之后,它似乎停止了工作.Appranely,chrome删除了顶级框架到数据URL的导航.

我现在该如何解决我的问题?我需要在新窗口中打开这个pdf.任何帮助将不胜感激.

UPDATE

使用iFrame解决了它.感谢佩德罗给我的想法.

<iframe id="ManualFrame"
        frameborder="0"
        style="border:0"
        allowfullscreen>
</iframe>

<script>
    $(function () {
        setManualFrame();
    });

    function setManualFrame() {
        $("#ManualFrame").attr("height", screen.height);
        $("#ManualFrame").attr("width", screen.width);
        $("#ManualFrame").attr("src", "data:application/pdf;base64," + '@ViewBag.pdf_base64_data');
    }
</script>
Run Code Online (Sandbox Code Playgroud)

小智 4

Chrome 60 中的弃用和删除:

删除内容启动的顶部框架导航到数据 URL

由于非技术浏览器用户不熟悉这些数据,我们越来越多地看到数据:欺骗和网络钓鱼攻击中使用的方案。为了防止这种情况发生,我们阻止网页加载数据:顶部框架中的 URL。这适用于标签、window.open、window.location 和类似的机制。data: 方案仍然适用于页面加载的资源。

此功能在 Chrome 58 中已弃用,现已删除。

来源:https ://developers.google.com/web/updates/2017/06/chrome-60-deprecations

  • 您好,这似乎更像是评论而不是答案。而且,用户似乎知道问题发生的原因。 (6认同)
  • 我明白,但问题的描述并不能解决问题 (6认同)