一旦用户提供视频链接,我就会尝试将YouTube视频嵌入到我的页面中。
<iframe width=\'560\' height=\'315\' src='http://www.youtube.com/watch?v=<video id>&output=embed' frameborder=\'0\' allowfullscreen></iframe>
但是当我尝试添加这个时,我得到了这个错误。在chrome中检查页面后,我在控制台选项卡中看到此错误
“由于X-Frame-Options禁止显示,拒绝显示文档”
我甚至无法在IE
和Firefox
中看到该视频
我甚至尝试添加
header('X-Frame-Options:Allow-From http://www.youtube.com');
header('X-Frame-Options:GOFORIT);
&output=embed to the url
在其他帖子中阅读某些解决方案之后。
但我仍然得到同样的错误。
我也看到youtube有对象嵌入的方法来显示视频,但是youtube已经将其作为嵌入视频的旧方法。所以我想使用新的iframe方法将视频嵌入到我的页面中。
问题见于
有人遇到过这个问题吗?
答案 0 :(得分:175)
您设置为iframe源代码的页面(Youtube /watch
页面)不希望嵌入您的页面。你不能强迫它让你这样做。
要嵌入的正确网址格式为:
http://www.youtube.com/embed/oHg5SJYRHA0
答案 1 :(得分:1)
当您从YouTube复制视频链接时:"https://www.youtube.com/watch?v=Fva3fgKmu3o"
-将
-删除'?v ='
最终示例:"https://www.youtube.com/embed/Fva3fgKmu3o"
答案 2 :(得分:1)
将关键字watch?v =替换为嵌入,并更改实时网址,如下所示:-
$url_string="https://www.youtube.com/watch?v=H1pTkatn6sI";
$url= str_replace('watch?v=','embed/', $url_string);
然后将其嵌入到iframe中
<iframe id="player" type="text/html" width="640" height="390" src="{{ $url }}" frameborder="0"></iframe>
答案 3 :(得分:0)
TL; DR:,您可能需要删除Cookie。
如果/v
或/embed
仍然不起作用,则可能是由于Cookie格式错误而导致的问题。您还会看到此错误,原因是大多数或每个YouTube页面上的 400 HTTP错误。
要解决此问题,您必须删除YouTube cookie:
在Chrome中,在地址栏中输入
chrome://settings/siteData
,然后在youtube
框中输入Search cookies
。接下来,您将看到YouTube的两组Cookie,您可以将其全部删除,或者,如果单击小箭头,则可以看到各个Cookie的名称,也可以删除所有{{{ 1}}。
此答案的来源和更多详细信息,请访问this Reddit thread。
答案 4 :(得分:0)
有人提到网址应该是 embed
而不是 watch
。
如果有人在寻找 Javascript 答案,我们可以使用 string.replace()
例如
const updateYoutubeUrl = (youtube_url = 'www.youtube.com/watch?v=H1pTkatn6sI') => {
youtube_url.replace('watch?v=', 'embed/')
return youtube_url
}
请参考@dhahn 答案
答案 5 :(得分:0)
要从 youtube 链接获取 id,这对 nuxtjs 有帮助
502013514208295320210301
...
<iframe
:src="`https://www.youtube.com/embed/${getIdFromURL(group.videoEmbedLink)}?rel=0`"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
loading="lazy"
/>
答案 6 :(得分:-1)
通过support.google.com/youtube
从Embed a video or playlist检查官方文档<iframe width="560" height="315"
src="https://www.youtube.com/embed/videoseries?list=PLx0sYbCqOb8TBPRdmBHs5Iftvv9TPboYG"
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
答案 7 :(得分:-1)
将此添加到您的HTML代码中
不要复制确切的视频链接,而是右键单击并复制嵌入代码,然后粘贴到src" "
<div class="example">
src="<iframe width="853" height="480" src="https://www.youtube.com/embed/jH0Q8NOsIR8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>" </iframe>
</div>
答案 8 :(得分:-1)
只需添加嵌入而不是观看
示例:-https://youtube.com/embed/OGGuw2dLBjk