Polyfill new URL(...)
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
/* Blob.js
|
/* Blob.js
|
||||||
* A Blob implementation.
|
* A Blob implementation.
|
||||||
* 2014-07-01
|
* 2014-07-24
|
||||||
*
|
*
|
||||||
* By Eli Grey, http://eligrey.com
|
* By Eli Grey, http://eligrey.com
|
||||||
* By Devin Samarin, https://github.com/eboyjr
|
* By Devin Samarin, https://github.com/eboyjr
|
||||||
@@ -62,13 +62,31 @@
|
|||||||
|
|
||||||
, ArrayBuffer = view.ArrayBuffer
|
, ArrayBuffer = view.ArrayBuffer
|
||||||
, Uint8Array = view.Uint8Array
|
, Uint8Array = view.Uint8Array
|
||||||
|
|
||||||
|
, origin = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/
|
||||||
;
|
;
|
||||||
FakeBlob.fake = FB_proto.fake = true;
|
FakeBlob.fake = FB_proto.fake = true;
|
||||||
while (file_ex_code--) {
|
while (file_ex_code--) {
|
||||||
FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;
|
FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;
|
||||||
}
|
}
|
||||||
|
// Polyfill URL
|
||||||
if (!real_URL.createObjectURL) {
|
if (!real_URL.createObjectURL) {
|
||||||
URL = view.URL = {};
|
URL = view.URL = function(uri) {
|
||||||
|
var
|
||||||
|
uri_info = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||||
|
, uri_origin
|
||||||
|
;
|
||||||
|
uri_info.href = uri;
|
||||||
|
if (!("origin" in uri_info)) {
|
||||||
|
if (uri_info.protocol.toLowerCase() === "data:") {
|
||||||
|
uri_info.origin = null;
|
||||||
|
} else {
|
||||||
|
uri_origin = uri.match(origin);
|
||||||
|
uri_info.origin = uri_origin && uri_origin[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return uri_info;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
URL.createObjectURL = function(blob) {
|
URL.createObjectURL = function(blob) {
|
||||||
var
|
var
|
||||||
|
|||||||
Reference in New Issue
Block a user