javascript - loadgeojson - XHR para cargar video
leaflet jquery (2)
Consulte esta solución para Google Chrome hasta que se implemente responseType = "blob".
- Yo, respondiendo a tu misma pregunta.
Si lee mi respuesta completa y el enlace, verá que Google Chrome en realidad aún no es compatible con responseType = "blob"
. Le di una implementación hipotética y lo responseType = "arraybuffer"
a una solución utilizando responseType = "arraybuffer"
.
Sin entrar en detalles sobre por qué estoy usando XHR, ¿alguien puede decirme cómo hacer que funcione lo siguiente? Mi objetivo es cargar primero los datos de video y luego colocarlos en la fuente de la etiqueta de video.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
window.onload = function() {
var elem = document.getElementById("myVideo");
var req = new XMLHttpRequest();
req.onload = function () {
var blob_uri = URL.createObjectURL(this.response);
elem.appendChild(document.createElement("source"))
.src = blob_uri;
};
req.responseType = "blob";
req.open(''GET'', ''http://www.latentmotion.com/player/h264/clips/16154_2832659676_170_180.mp4'', false);
req.send(null);
};
</script>
</head>
<body>
<video id="myVideo" width="600" height="334" controls></video>
</body>
</html>
Tienes dos problemas aquí,
-
req.responseType = "blob";
debería venir después dereq.open(...)
- Está realizando una solicitud entre sitios, que puede fallar por razones de seguridad.
También debe URL.revokeObjectURL
una vez que configure la url. Tenga en cuenta que en Chrome todavía tienen webkitURL
lugar de URL
.