mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Ensure that the XMLHttpRequest
is open
ed before attempting to set the responseType
in the DOMCMapReaderFactory
, since IE fails otherwise (issue 8193)
I really cannot understand why this change is necessary, since modern browsers such as Firefox and Chrome work just fine with the old code. Hence this is patch is yet another "hack" that's needed just because IE apparently cannot just work like you'd expect. For consistency, the Node factory used in the CMap unit-tests is changed as well. Fixes 8193.
This commit is contained in:
parent
3705e5e459
commit
5c0c122a7d
2 changed files with 12 additions and 13 deletions
|
@ -76,15 +76,17 @@ var DOMCMapReaderFactory = (function DOMCMapReaderFactoryClosure() {
|
|||
|
||||
DOMCMapReaderFactory.prototype = {
|
||||
fetch: function(params) {
|
||||
if (!params.name) {
|
||||
var name = params.name;
|
||||
if (!name) {
|
||||
return Promise.reject(new Error('CMap name must be specified.'));
|
||||
}
|
||||
return new Promise(function (resolve, reject) {
|
||||
var url = this.baseUrl + params.name;
|
||||
var url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');
|
||||
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('GET', url, true);
|
||||
|
||||
if (this.isCompressed) {
|
||||
url += '.bcmap';
|
||||
request.responseType = 'arraybuffer';
|
||||
}
|
||||
request.onreadystatechange = function () {
|
||||
|
@ -105,12 +107,11 @@ var DOMCMapReaderFactory = (function DOMCMapReaderFactoryClosure() {
|
|||
return;
|
||||
}
|
||||
reject(new Error('Unable to load ' +
|
||||
(this.isCompressed ? 'binary' : '') +
|
||||
' CMap at: ' + url));
|
||||
(this.isCompressed ? 'binary ' : '') +
|
||||
'CMap at: ' + url));
|
||||
}
|
||||
}.bind(this);
|
||||
|
||||
request.open('GET', url, true);
|
||||
request.send(null);
|
||||
}.bind(this));
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue