使用ui-router

时间:2016-08-23 16:15:24

标签: angularjs html5 angular-ui-router video.js

我正在开发一个必须在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;
}

2 个答案:

答案 0 :(得分:0)

我假设你正在使用某种形式的路由?也许您需要重新加载控制器/指令/组件。

答案 1 :(得分:0)

我有同样的问题,我找到了解决问题的方法。

在控制器中添加此代码可能会对您有所帮助。

$scope.$on('$destroy', function () {
    video.dispose();
});

视频是由videojs()函数创建的播放器对象。

可以查看此讨论以获取更多信息。

angular single page app, videoJS ready function only fires on page load