Angular 7 не может воспроизводить видео Vimeo на Safari 12 - PullRequest
1 голос
/ 08 мая 2019

Я использую Angular 7 и expressjs для размещения приложения. Мое приложение получает Vimeo video Id от сторонних API, а затем я пытаюсь показать видео на своей странице с помощью Vimeo API, чтобы получить ссылку на видео с помощью vimeo video Id. На Chrome все работает нормально, но когда дело доходит до Safari 12, мои видео не отображаются. Ошибка

"Список источников для директивы Content Security Policy 'script-src' содержит недопустимый источник: '' strict-dynamic ''. Он будет проигнорирован.".

Вот скриншот ошибки, с которой мы сталкиваемся: https://i.imgur.com/46mK6L4.png

Любые предложения приветствуются.

Я попытался настроить CSP на экспресс-сервере, используя модуль шлем-csp , но безуспешно.

this.selectedJobDetails.JobVideo = this.selectedJobDetails.JobVideo.map((elem) => {
    if (elem.url && elem.venderId == 2) {
            this.vimeoService.getVideoDataById(elem.url).subscribe(response => {
                if (response && response.files && response.files instanceof Array && response.files.length > 0) {
elem.url = this.sanitizer.bypassSecurityTrustResourceUrl(response.files[0]['link']);
  }
   });
} else if (elem.url && elem.venderId == 1) {
  elem.url = this.sanitizer.bypassSecurityTrustResourceUrl(elem.url);
}
return elem;
});
<div class="video-col" *ngFor="let video of selectedJobDetails?.JobVideo">
   <div class="vid-clip" *ngIf="video.url">
        <video [src]="video.url" controls type=""></video>
   </div>
</div>

Я получаю URL-адреса видео из API-интерфейса vimeo, а затем очищаю URL-адрес, а затем связываю src с тегом video.

Любые предложения приветствуются.

...