javascript - that - Cómo elegir entre `window.URL.createObjectURL()` y `window.webkitURL.createObjectURL()` basado en el navegador
window.url.createobjecturl deprecated (3)
Desde el sitio web para desarrolladores de Firefox, sé que Firefox usa
objectURL = window.URL.createObjectURL(file);
para obtener la URL del tipo de archivo, pero en Chrome y otros navegadores webkit tenemos window.webkitURL.createObjectURL()
para detectar la URL.
No sé cómo intercambiar estas funciones en función de los motores de los navegadores, y necesito que se trabaje en ambos navegadores (Chrome y Firefox)
https://developer.mozilla.org/en/DOM/window.URL.createObjectURL
Podrías definir una función de contenedor:
function createObjectURL ( file ) {
if ( window.webkitURL ) {
return window.webkitURL.createObjectURL( file );
} else if ( window.URL && window.URL.createObjectURL ) {
return window.URL.createObjectURL( file );
} else {
return null;
}
}
Y entonces:
// works cross-browser
var url = createObjectURL( file );
Un simple trazador de líneas:
var createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL || function(){};
if (window.URL !== undefined) {
window.URL.createObjectURL();
} else if (window.webkitURL !== undefined) {
window.webkitURL.createObjectURL();
} else {
console.log(''Method Unavailable: createObjectURL'');
}
Es redondo, sobre lo que estás buscando. Además, ESTE ejemplo usa el mucho más simple ...
window.URL = window.URL || window.webkitURL;