Я использую 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.
Любые предложения приветствуются.