我正在开发一个必须在Firefox和IE 11上运行的videojs项目,并且使用angular-ui-router构建。其中一个州有一个视频播放器,并在第一次加载时,videojs正确生成内容。但是,如果您离开该状态并返回,则不会生成videojs内容并显示默认的html5视频元素。有办法解决这个问题吗?此外,(更常见的是在IE 11中),videojs有时会随机无法在第一页加载时生成内容。我无法弄清楚问题是否相关,或者是什么导致了问题,因为控制台日志中没有错误。
我不确定哪些代码甚至与发布相关。这是视频的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;
在我的应用程序开始时。但是,如果我摆脱这个问题仍然存在问题。
随意请求任何其他可帮助诊断问题的代码
(注意:我也对使用视频组件的不同框架/等的建议持开放态度。视频总体上非常令人沮丧)
编辑:如果相关,“全视频”是视频的唯一自定义类,其样式为:
.full-video {
width: 100%;
height: auto;
}
答案 0 :(得分:0)
我假设你正在使用某种形式的路由?也许您需要重新加载控制器/指令/组件。
答案 1 :(得分:0)
我有同样的问题,我找到了解决问题的方法。
在控制器中添加此代码可能会对您有所帮助。
$scope.$on('$destroy', function () {
video.dispose();
});
视频是由videojs()函数创建的播放器对象。
可以查看此讨论以获取更多信息。
angular single page app, videoJS ready function only fires on page load