gpt4 book ai didi

javascript - 在 IE11 中使用数据 URL 打开 pdf.js

转载 作者:行者123 更新时间:2023-11-29 15:34:33 27 4
gpt4 key购买 nike

我正在尝试使用 pdf.js 在 IE10 上的数据 URL 中显示文档。即 something like this .

它适用于 Firefox 或 Chrome,但在 Internet Explorer 10 和 11 中,界面显示,但保持空白,并且文档永远不会加载。

我检查过,compatibility.js 包含在渲染器页面 (viewer.html) 中,因此应该存在 IE 支持。

编辑:实际上这是一个安全问题,因为 IE 不允许运行这种类型的请求。

提前致谢

最佳答案

好吧,如果有人遇到同样的问题,我通过绕过 lib 的正常加载路径解决了它,并按照 async5 的建议,直接将数据转换为字节数组。

也就是说,在 viewer.js 中,在第 6856 行下添加这些行:

  if (file && file.lastIndexOf('data:', 0) === 0) {
// data: url-scheme. we will load those with direct conversion to byte array

function convertDataURIToBinary(dataURI) {
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = window.atob(base64);
var rawLength = raw.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));

for(var i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i);
}
return array;
}

// PDFViewerApplication.setTitleUsingUrl(file);
PDFViewerApplication.open(convertDataURIToBinary(file), 0);

return;
}

(base64转字节数组的代码是Codetoffel贴出来的here)

关于javascript - 在 IE11 中使用数据 URL 打开 pdf.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30894571/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com