2015-02-19 7 views
0

Моя проблема: nВключить источник видео не заменит видео.AngularJS ngInclude Html5 Видео не заменяется

На моей странице есть фид и предварительный просмотр, каждый раз, когда я нажимаю на сообщение в фиде, его предварительный просмотр вводится (ngInclude) в область предварительного просмотра. Он отлично работает для видео YouTube, для изображений и текста, но когда он попадает в видео html5, одно и то же видео продолжает отображаться, и кажется, что источник не заменяется на странице.

Самое странное, когда я вхожу в хром-отладчик и проверяю элемент, я вижу, что его источник заменяется другим URL-адресом, но видео в превью не меняется.

Я даже попытался включить автовоспроизведение, и когда я перемещаюсь по сообщениям, видео продолжает играть плавно.

Вот соответствующие кодовые биты:

В окне предварительного просмотра, который получает ngIncluded:

<div ng-if="postInfo.Media.type == 'video'"> 
    <video name="media" width="582" height="582" controls autoplay> 
     <source src="{{postInfo.Media.videoStandardResolution}}" type="video/mp4"> 
    </video> 
</div> 

Главная страница включая бит:

<div id="preview-panel"> 
    <ng-include src="htmlInclude" onload="responsiveCalc()"/> 
</div> 

И в моей JavaScript, когда я получаю событие сообщения, измененного в фиде, я просто повторно инициализирую $ scope.htmlInclude

Кто-нибудь наткнулся на что-нибудь подобное? Должен ли я каким-то образом обновить источник видео? И если да, то как.

Спасибо!

+0

вы получили какую-либо ошибку в консоли? Вы могли бы создать скрипку/plunkr, пожалуйста? –

+0

Я пробовал, но я понятия не имею, как разместить видеоролики там, я получаю некоторую ошибку безопасности. http://jsfiddle.net/h5aac/88/ – AlexD

ответ

0

Что кончалось решение этого удалял исходный тег внутри тега видео и сразу менял атрибут src этого видео.

Пошел через это: http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#the-source-element и оттуда это было довольно очевидно.

так что мой HTML теперь выглядит следующим образом:

<video name="media" width="582" height="582" controls autoplay src="{{postInfo.Media.videoStandardResolution}}"> 
    Your browser does not support the video tag. 
</video> 
0

Попробуйте использовать нг-Src вместо ЦСИ в исходном видео тэга

<source ng-src="{{postInfo.Media.videoStandardResolution}}" type="video/mp4">

Это позволяет Угловым знать, что ЦСИ будет заменен и получить результат

+0

Я считаю, что это не сработает –

+1

спасибо @pankajparkar;) –

+0

спасибо за ответ, это все еще не работает. В проверке элементов теперь я получил ngSrc и src, оба указывающие на один и тот же URL-адрес и меняются, когда я выбираю другое сообщение, но все равно такое же видео и по-прежнему продолжает играть, когда я ввожу другой html – AlexD

Смежные вопросы