html 视频播放器并不总是从 src 读取
html video player not always read from src
我想播放来自网络服务器的视频文件。这是我的 HTML 代码。
<video width="100%" height="100%" controls>
<source ng-src="{{media_url}}" type="video/mp4" />
</video>
<div>{{media_url}}</div>
在 angular 控制器中:
$scope.media_url = '/get_video/movie.mp4';
每次刷新页面时,div 都能正确显示。但是,视频播放器并不总是向“/get_video/movie.mp4”发送请求。它的行为看起来很随机。
如果我直接设置src就没问题:
<source ng-src="/get_video/movie.mp4" type="video/mp4" />
知道为什么吗?
浏览器在 URL 的基础上进行缓存,我相信每次您都应该生成新的 url 可以解决您的问题,并且不会影响您的功能。在 url 末尾附加日期将使 url 每次都是唯一的,因为它不会从浏览器缓存查找中检索任何内容。
标记
<video width="100%" height="100%" controls>
<source ng-src="{{generateNewUrl(media_url)}}" type="video/mp4" />
</video>
代码
$scope.generateNewUrl = function(media_url){
return media_url + "?t="+new Date();
}
我真的找到问题了。不是因为浏览器缓存。
参考这个post
changing source on html5 video tag
我想播放来自网络服务器的视频文件。这是我的 HTML 代码。
<video width="100%" height="100%" controls>
<source ng-src="{{media_url}}" type="video/mp4" />
</video>
<div>{{media_url}}</div>
在 angular 控制器中:
$scope.media_url = '/get_video/movie.mp4';
每次刷新页面时,div 都能正确显示。但是,视频播放器并不总是向“/get_video/movie.mp4”发送请求。它的行为看起来很随机。
如果我直接设置src就没问题:
<source ng-src="/get_video/movie.mp4" type="video/mp4" />
知道为什么吗?
浏览器在 URL 的基础上进行缓存,我相信每次您都应该生成新的 url 可以解决您的问题,并且不会影响您的功能。在 url 末尾附加日期将使 url 每次都是唯一的,因为它不会从浏览器缓存查找中检索任何内容。
标记
<video width="100%" height="100%" controls>
<source ng-src="{{generateNewUrl(media_url)}}" type="video/mp4" />
</video>
代码
$scope.generateNewUrl = function(media_url){
return media_url + "?t="+new Date();
}
我真的找到问题了。不是因为浏览器缓存。
参考这个post
changing source on html5 video tag