我的HTML页面如下所示:
<div>
<iframe margin="0" padding="0" border="none" width="420" height="345" frameBorder="0"
ng-src="{{exercise_video_url}}">
</iframe>
</div>
&#39; exercise_video_url&#39;我在控制器中设置如下:
$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服务。
视频链接本身就像&#39; https://youtu.be/ ******&#39; - &GT; *是几个随机字符。如果您在浏览器中点击此链接或直接作为ng-src的来源,此链接可以独立运行。
我还尝试评论&#39; django.middleware.clickjacking.XFrameOptionsMiddleware &#39;在我的settings.py
中答案 0 :(得分:0)
您正在使用的YouTube网址,必须为嵌入版本。我只是在网站上修复了类似的问题并开始工作。
由于您将其嵌入到iframe中,因此只能使用YouTube嵌入网址。
因此示例请勿将短网址嵌入到iframe中,而应使用嵌入网址。
错误: <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