如何解决[已解决]如何使用IE浏览器显示PDF缩略图8,9,10 问题已解决
当我尝试通过 PDF.js 'Hello,world!' example ,PDFJS.getDocument
不工作且不抛出错误。
示例loadingTask.promise.then(function(pdf) {
已过时,无法使用!请参考以下代码。
reader.addEventListener('load',function(event) {
const orientation = getorientation(reader.result);
const data = arrayBufferToDataURL(reader.result);
pdfjsLib.disableWorker = true;
pdfjsLib.GlobalWorkerOptions.workerSrc = 'pdf.worker.js';
var loadingTask = pdfjsLib.getDocument(new Uint8Array(event.target.result));
loadingTask.promise.then(function(pdf) {
},function (reason) {
// console.error(reason);
// alert(reason);
});
这不是你的错,最新版pdf.js不支持Internet Explorer8,9,10。虽然旧版本可能支持Internet Explorer11,但代表PDF时会有很多问题。
其实主要是老版本的浏览器不支持ECMAScript6,所以你需要想办法把ES6转成Es5,和ie版本的各个区别。
- IE8、IE9、IE10 和 IE11 之间有什么区别?
- es5、es6 有什么区别?
- 将 ES6 JavaScript 转换为 ES5。
我已经研究了很长时间查询的差异。我不会在这里讨论。我只讲如何转换。
使用babel-cli进行转换
$ npm install --save-dev babel-cli
$ npm install --save hapi
当你使用 Babel 进行转换时,你需要指定要使用的插件。 这是 es2015 预设,用于从 ES6(es2015)转移到 Es5。 babel/preset-es2015 babel/preset-es2017
.babelrc
{
"presets": ["es2015"]
}
src/index.js
import Hapi from 'hapi';
const server = new Hapi.Server();
server.connection({
host: 'localhost',port: 8000
});
// Add routing
server.route({
method: 'GET',path: '/hello',handler: function(request,reply) {
console.log('[/hello] requested');
reply('hello world');
}
});
server.start();
dist/index.js
$ babel src/index.js --out-file dist/index.js
'use strict';
var _hapi = require('hapi');
var _hapi2 = _interoprequiredefault(_hapi);
function _interoprequiredefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var server = new _hapi2.default.Server();
server.connection({
host: 'localhost',handler: function handler(request,reply) {
console.log('[/hello] requested');
reply('hello world');
}
});
server.start();
当您认为应该没有问题时,对不起,还有其他问题。表示特定日文字符集时出现乱码
下载您想要的cmap-resources并添加
问题已解决
解决方法
将 ES6 转换为 Es5 并使用您想要的字符集
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。