1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 08:08:07 +02:00

Fixes IE9 document.readyState and input.type=number issues.

This commit is contained in:
Yury Delendik 2017-01-23 09:23:13 -06:00
parent 1948a53ebb
commit a9cf281723

View file

@ -596,4 +596,44 @@ if (typeof PDFJS === 'undefined') {
});
})();
// Provides `input.type = 'type'` runtime failure protection.
// Support: IE9,10.
(function checkInputTypeNumberAssign() {
var el = document.createElement('input');
try {
el.type = 'number';
} catch (ex) {
var inputProto = el.constructor.prototype;
var typeProperty = Object.getOwnPropertyDescriptor(inputProto, 'type');
Object.defineProperty(inputProto, 'type', {
get: function () { return typeProperty.get.call(this); },
set: function (value) {
typeProperty.set.call(this, value === 'number' ? 'text' : value);
},
enumerable: true,
configurable: true
});
}
})();
// Provides correct document.readyState value for legacy browsers.
// Support: IE9,10.
(function checkDocumentReadyState() {
if (!document.attachEvent) {
return;
}
var documentProto = document.constructor.prototype;
var readyStateProto = Object.getOwnPropertyDescriptor(documentProto,
'readyState');
Object.defineProperty(documentProto, 'readyState', {
get: function () {
var value = readyStateProto.get.call(this);
return value === 'interactive' ? 'loading' : value;
},
set: function (value) { readyStateProto.set.call(this, value); },
enumerable: true,
configurable: true
});
})();
}).call((typeof window === 'undefined') ? this : window);