Skip to content

Commit 939ec15

Browse files
committed
Add better capability checks for the Blob, FileReader and URL APIs.
1 parent d9fc9ac commit 939ec15

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
lines changed

load-image.js

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* JavaScript Load Image 1.1.2
2+
* JavaScript Load Image 1.1.3
33
* https://github.com/blueimp/JavaScript-Load-Image
44
*
55
* Copyright 2011, Sebastian Tschan
@@ -10,7 +10,7 @@
1010
*/
1111

1212
/*jslint nomen: true */
13-
/*global window, document, Blob, URL, webkitURL, FileReader, define */
13+
/*global window, document, URL, webkitURL, Blob, FileReader, define */
1414

1515
(function ($) {
1616
'use strict';
@@ -22,7 +22,7 @@
2222
var img = document.createElement('img'),
2323
url,
2424
isFile;
25-
if (file instanceof Blob) {
25+
if (window.Blob && file instanceof Blob) {
2626
url = loadImage.createObjectURL(file);
2727
isFile = true;
2828
} else {
@@ -44,7 +44,8 @@
4444
});
4545
}
4646
},
47-
undef = 'undefined';
47+
urlAPI = (window.createObjectURL && window) ||
48+
(window.URL && URL) || (window.webkitURL && webkitURL);
4849

4950
// Scales the given image (img HTML element)
5051
// using the given options.
@@ -80,24 +81,17 @@
8081
};
8182

8283
loadImage.createObjectURL = function (file) {
83-
var urlAPI = (typeof window.createObjectURL !== undef && window) ||
84-
(typeof URL !== undef && URL) ||
85-
(typeof webkitURL !== undef && webkitURL);
8684
return urlAPI ? urlAPI.createObjectURL(file) : false;
8785
};
8886

8987
loadImage.revokeObjectURL = function (url) {
90-
var urlAPI = (typeof window.revokeObjectURL !== undef && window) ||
91-
(typeof URL !== undef && URL) ||
92-
(typeof webkitURL !== undef && webkitURL);
9388
return urlAPI ? urlAPI.revokeObjectURL(url) : false;
9489
};
9590

9691
// Loads a given File object via FileReader interface,
9792
// invokes the callback with a data url:
9893
loadImage.readFile = function (file, callback) {
99-
if (typeof FileReader !== undef &&
100-
FileReader.prototype.readAsDataURL) {
94+
if (window.FileReader && FileReader.prototype.readAsDataURL) {
10195
var fileReader = new FileReader();
10296
fileReader.onload = function (e) {
10397
callback(e.target.result);
@@ -108,7 +102,7 @@
108102
return false;
109103
};
110104

111-
if (typeof define !== undef && define.amd) {
105+
if (typeof define !== 'undefined' && define.amd) {
112106
// Register as an AMD module:
113107
define('loadImage', function () {
114108
return loadImage;

load-image.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
},
1313
"bugs": "https://github.com/blueimp/JavaScript-Load-Image/issues",
1414
"main": "load-image",
15-
"version": "1.1.2"
15+
"version": "1.1.3"
1616
}

0 commit comments

Comments
 (0)