我正在做一个必须在Firefox和IE 11上工作的videojs项目,并且是用angular-ui-router构建的。其中一个状态有一个视频播放器,在第一次加载时,videojs会正确地生成内容。但是,如果您离开该状态并返回,则不会生成videojs内容,而是显示默认的html5视频元素。有没有办法解决这个问题?此外,(在IE11中更常见),videojs有时会随机地无法在第一个页面加载时生成内容。我不知道这些问题是否相关,或者是什么导致了问题,因为控制台日志中没有错误。
我甚至不确定哪些代码会与post相关。以下是视频的html:
<video controls preload data-setup="{}" class="video-js vjs-default-skin vjs-big-play-centered full-video" poster="img/CollaborationPoster.png">
<source ng-repeat="src in video.srcs" ng-src="{{src.url | trustUrl}}" type="{{src.mimeType}}"/>
</video>此外,我还有:
window.VIDEOJS_NO_DYNAMIC_STYLE = true;在我的应用程序开始的时候。但是,如果我去掉它,问题仍然存在。
请随时询问任何其他可以帮助诊断问题的代码
(注意:对于视频组件使用不同的框架等建议,我也持开放态度。videojs总体上非常令人沮丧)
编辑:在相关的情况下,'full- video‘是视频的唯一定制类,它的样式是:
.full-video {
width: 100%;
height: auto;
}发布于 2016-12-30 15:06:10
我也有同样的问题,我找到了解决它的方法。
在您的控制器中添加此代码可能会对您有所帮助。
$scope.$on('$destroy', function () {
video.dispose();
});Video是videojs()函数创建的播放器对象。
可以查看此讨论以获取更多信息。
angular single page app, videoJS ready function only fires on page load
发布于 2016-08-24 00:51:24
我想你是在使用某种形式的路由吧?也许您需要重新加载控制器/指令/组件。
https://stackoverflow.com/questions/39106174
复制相似问题