Django отказался показывать видео YouTube в iframe, потому что он установил "X-Frame-Options" на "SAMEORIGIN"
Моя HTML-страница выглядит так:
<div>
<iframe margin="0" padding="0" border="none" width="420" height="345" frameBorder="0"
ng-src="{{exercise_video_url}}">
</iframe>
</div>
'erc_video_url'Я устанавливаю в моем контроллере, как показано ниже:
$http.get("https://localhost:8000/api/exercises/initial/").then(function(response){
$scope.initial_data=response.data;
angular.forEach($scope.initial_data, function(item){
$scope.exercise_type=item.exercise_type;
$scope.exercise_description=item.description;
$scope.exercise_video_url=$sce.trustAsResourceUrl(item.video_url);
})
Я получаю информацию, относящуюся к конкретному упражнению, из моего представления Django, модель упражнения имеет video_url в качестве атрибута. Я где-то читал и вводил сервис $sce в мой угловой контроллер.
сама ссылка на видео выглядит так: " https://youtu.be/******" -> * - это несколько случайных символов. Эта ссылка отлично работает независимо, если вы нажмете ее в браузере или предоставите в качестве источника ng-src напрямую.
Я также попытался прокомментировать 'django.middleware.clickjacking.XFrameOptionsMiddleware' в своем файле settings.py
1 ответ
Это ваш YouTube URL-адрес вашего использования, это должна быть версия для встраивания. Я только что исправил подобную проблему на своем сайте и работал.
Поскольку вы встраиваете его в iframe, он использует только URL-адрес для вставки YouTube.
поэтому в примере не используйте короткий URL-адрес для встраивания в iframes, используйте встроенный URL-адрес.
НЕПРАВИЛЬНО: <iframe width="1260" height="709" src="<iframe width="1260" height="709" src="https://www.youtube.com/watch?v=xWRNBOXoLf8" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
ПРАВО: <iframe width="1260" height="709" src="<iframe width="1260" height="709" src="https://www.youtube.com/embed/xWRNBOXoLf8?ecver=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
использование https://www.youtube.com/embed/xWRNBOXoLf8?ecver=1