2016-08-23 4 views
0

私はFirefoxとIE 11で動作する必要があるvideojsのプロジェクトに取り組んでおり、角度ui-routerで構築されています。状態の1つにビデオプレーヤーがあり、最初の読み込み時には、videojsがコンテンツを適切に生成します。ただし、その状態から離れて戻ると、videojsコンテンツは生成されず、デフォルトのhtml5動画要素が表示されます。この問題に対処する方法はありますか?さらに、(IE 11ではより頻繁に)、videojsは最初のページの読み込み時にコンテンツをランダムに生成できないことがあります。問題が関連しているのか、コンソールログにエラーがないので問題を引き起こしているのか分かりません。ui-routerで状態を変更するとvideojsが読み込まれない

私はどのコードが投稿に関連するかどうかはわかりません。私が持っているほか

<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; 

私のアプリの開始時に、ここではビデオのためのHTMLがあります。しかし、これを取り除くと、まだ問題は残っています。

問題の診断に役立つ可能性のある他のコードをお願いしてお気軽に(注:私もビデオコンポーネントのために異なるフレームワークの/ etcを使用しての提案を開いていますvideojsは非常にイライラ全体的になっています)

編集:ケースでは、関連するだ、「フルビデオは」ビデオのための唯一のカスタムクラスであり、そのスタイリングは、次のとおりです。

.full-video { 
    width: 100%; 
    height: auto; 
} 

答えて

0

私はあなたが、ルーティングのいくつかのフォームを使用していると仮定?コントローラー/指令/コンポーネントをリロードする必要があるかもしれません。

+0

ねえマイクは、私がもっと手の込んだことができます:私は、コンポーネントに状態をマップ角度-UI-ルータを使用しています。私は、状態を変更するとデフォルトでこれらのコンポーネントが再読み込みされることを確信しています。つまり、それらのすべてが再ロードされるはずです。 – pasquers

+0

ええと、state.go/trasitionの3番目のパラメータを使用して明示的な{reload:true} ui-sref-opts、または場合によっては経路定義内であってもよい。 –

+0

ええと、私はあなたが言っているのを見ます。しかし、最終的な目標は、状態が変わったときにページをリロードしないことです(ロードされた情報/データを保存するため)。これにより、パフォーマンスの問題が回避されます。それで、私はおそらく何とか手動でビデオjsをロードする必要があります。 – pasquers

0

私は同じ問題を抱えており、解決する方法があります。

コントローラのこのコードを追加すると役立ちます。

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

Videoはvideojs()関数で作成されたプレーヤーオブジェクトです。

詳細については、このディスカッションをご覧ください。

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