Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过createObjectURL的Blob视频不起作用_Javascript_Blob - Fatal编程技术网

Javascript 通过createObjectURL的Blob视频不起作用

Javascript 通过createObjectURL的Blob视频不起作用,javascript,blob,Javascript,Blob,我正在尝试制作一个HTML文件,在这里我可以上传一个本地视频文件,或者将一个视频文件的链接嵌入到HTML中。问题是,上传视频文件会导致完全为空的blob视频:0:00持续时间;完全变灰了 我已经检查过嵌入不是问题(我去了blob:null链接本身,它不起作用),并且视频文件不是问题(将文件路径放在文本栏中,它就起作用了),所以问题似乎是createObjectURL函数。如果您好奇的话,视频文件是.mp4文件 window.addEventListener('load', function()

我正在尝试制作一个HTML文件,在这里我可以上传一个本地视频文件,或者将一个视频文件的链接嵌入到HTML中。问题是,上传视频文件会导致完全为空的blob视频:0:00持续时间;完全变灰了

我已经检查过嵌入不是问题(我去了blob:null链接本身,它不起作用),并且视频文件不是问题(将文件路径放在文本栏中,它就起作用了),所以问题似乎是createObjectURL函数。如果您好奇的话,视频文件是.mp4文件

window.addEventListener('load', function() {
  document.querySelector('input[type="file"]').addEventListener('change', function() {
      if (this.files && this.files[0]) {
      var new_embed = document.createElement("EMBED");
      new_embed.setAttribute("src", URL.createObjectURL(this.files[0]));
      alert(URL.createObjectURL(this.files[0]));
      new_embed.setAttribute("style", "width:100%; height: 100%;");
      document.getElementById("player-theater-container").appendChild(new_embed);
          var butte = document.getElementById("inputer");
          butte.remove();
          butte = document.getElementById("texbax");
          butte.remove();
      }
  });

  document.getElementById("texbax").addEventListener('change', function() {
      var new_embed = document.createElement("EMBED");
      new_embed.setAttribute("src", this.value);
      new_embed.setAttribute("style", "width:100%; height: 100%;");
      document.getElementById("player-theater-container").appendChild(new_embed);
          var butte = document.getElementById("inputer");
          butte.remove();
          butte = document.getElementById("texbax");
          butte.remove();
  });
});

这可能是Firefox的一个bug,该代码在Chrome中运行良好,在FF中也应该可以运行:

window.addEventListener('load',function(){
document.querySelector('input[type=“file”]”)。addEventListener('change',function(){
if(this.files&&this.files[0]){
var new_embed=document.createElement(“嵌入”);
新的_embed.setAttribute(“src”,URL.createObjectURL(this.files[0]);
新的_embed.setAttribute(“样式”,“宽度:100%;高度:100%;”);
document.getElementById(“播放器剧院容器”).appendChild(新嵌入);
var butte=document.getElementById(“inputer”);
butte.remove();
butte=document.getElementById(“texbax”);
butte.remove();
}
});
document.getElementById(“texbax”).addEventListener('change',function()){
var new_embed=document.createElement(“嵌入”);
新的_embed.setAttribute(“src”,this.value);
新的_embed.setAttribute(“样式”,“宽度:100%;高度:100%;”);
document.getElementById(“播放器剧院容器”).appendChild(新嵌入);
var butte=document.getElementById(“inputer”);
butte.remove();
butte=document.getElementById(“texbax”);
butte.remove();
});
});

我实际上使用的是谷歌Chrome而不是Firefox。