the that srcobject provided not new matched htmlmediaelement found filename createobjecturl chrome javascript html5 dom

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;