Интеграция проигрывателя Cloudflare в angular 7 для потока Cloudflare - PullRequest
1 голос
/ 16 февраля 2020

Я пытаюсь заставить работать поток облачных вспышек в angular. Я пробовал решение, данное здесь: Angular атрибут для HTML stream .

Однако, это всегда попадание или промах:

  1. Из 10 перезагрузок один загружает игрока.
  2. Но каждый раз, когда я изменяю тег <stream>, и angular перекомпилируется, проигрыватель загружается. После этого, если я обновлю sh браузер, это снова пустой экран.

Компонент, который показывает видео глубоко в дереве, и компонент принадлежит модулю, который загружен лениво:

В индексе. html файл:

<!doctype html>
<html lang="en">

<head>
...............

</head>

<body>
  <app-root></app-root>

</body>
<script src="https://embed.cloudflarestream.com/embed/r4xu.fla9.latest.js" id="video_embed" defer="" async=""></script>

</html>

В файле videoFile.component.ts:

<stream src="5d5bc37ffcf54c9b82e996823bffbb81" height="480px" width="240px" controls></stream>

1 Ответ

0 голосов
/ 16 февраля 2020

Нашел решение здесь: https://github.com/angular/angular/issues/13965

Таким образом, каждый раз, когда компонент загружается, сценарий удаляется и снова подключается с помощью ngOninit, например:

document.getElementById("video_embed").remove();
      let testScript = document.createElement("script");
      testScript.setAttribute("id", "video_embed");
      testScript.setAttribute("src", "https://embed.cloudflarestream.com/embed/r4xu.fla9.latest.js");
      document.body.appendChild(testScript);

Если у кого-то есть другие решения, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...