【问题标题】:How to use blobs and createObjectURL in Edge and IE如何在 Edge 和 IE 中使用 blob 和 createObjectURL
【发布时间】:2017-12-23 21:48:30
【问题描述】:

我正在使用以下代码从 AJAX 请求将 PDF 加载到窗口中:

$('#divEmbedPdf').empty();

var req = new XMLHttpRequest();
req.open('GET', '/api/read/file?p_key=<some key>', true);
req.responseType = 'blob';
req.setRequestHeader('SomeAuthHeader', 'SomeTokenValue');
req.onload = function (event) {
    var fblob = req.response;

    $('<iframe/>', {
        src: window.URL.createObjectURL(fblob),
        frameborder: 0,
        marginheight: 0,
        marginwidth: 0,
        css: {
            position: 'absolute',
            width: '100%',
            height: '100%'
        }
    }).appendTo($('#divEmbedPdf'));
}
req.send();

这在 Chrome 和 FF 中运行良好,但 Edge 抛出以下错误:

SEC7134: Resource 'blob:C88E2211-80B6-4933-B5E1-0E8DE3665368' not allowed to load.

有没有办法让它与 Edge 一起工作?我不想打开一个新窗口,因为它在一个弹出窗口中运行,我希望在不打开和关闭的情况下看起来持久。正如您将注意到的,我在身份验证请求中发送了一个自定义标头,因此我不能只制作一个 iframe 并将 src 属性设置为路径。

【问题讨论】:

    标签: javascript ajax pdf blob


    【解决方案1】:

    我猜现在你已经有了你的answer

    感谢您提供有关此问题的信息。我们 之前已经确认了这个问题,并且已经发布了一个解决方案 Edge的新版本。我们将这个问题作为一个副本来解决 现有的内部错误报告。我们期待更多的反馈 您可能对我们如何改进 Microsoft Edge 有所了解。

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 2019-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      相关资源
      最近更新 更多