Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拒绝显示';http://vimeo.com/27577981' 在帧中,因为它设置为';X-Frame-Options';至';SAMEORIGIN';_Javascript_Video_Embed - Fatal编程技术网

Javascript 拒绝显示';http://vimeo.com/27577981' 在帧中,因为它设置为';X-Frame-Options';至';SAMEORIGIN';

Javascript 拒绝显示';http://vimeo.com/27577981' 在帧中,因为它设置为';X-Frame-Options';至';SAMEORIGIN';,javascript,video,embed,Javascript,Video,Embed,我试图在嵌入标记中嵌入视频,但出现以下错误: Refused to display 'http://vimeo.com/27577981' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. youtube链接: 当我用embed/替换watch?v=时,它运行良好。但没有必要让视频出现在youtube上。因此,我需要一个独特的解决方案。正如错误消息所说,您不能将该页面嵌入到框架中。维梅奥。接着说 {页眉} 发生这种情况是

我试图在嵌入标记中嵌入视频,但出现以下错误:

Refused to display 'http://vimeo.com/27577981' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
youtube链接:
当我用embed/替换watch?v=时,它运行良好。但没有必要让视频出现在youtube上。因此,我需要一个独特的解决方案。

正如错误消息所说,您不能将该页面嵌入到框架中。维梅奥。接着说


{页眉}

发生这种情况是因为iframe中的网站正在将X-Frame-Options标题设置为:SAMEORIGIN

实现这一点的唯一方法是让网站不设置标题,或者更改uri中的允许值

这就是为什么您需要遵循Vimeo说明才能使其工作,但显然每个站点都必须独立处理


此策略是一种安全措施,可避免点击劫持。您可以在此处查看更多信息:

我也有类似的问题
解决方案:
简而言之(目前),嵌入url是:

//player.vimeo.com/video/
而不是:

//vimeo.com/27577981
例如:

<iframe src="//player.vimeo.com/video/27577981?portrait=0" class="ivid" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>


但正如昆廷所说,请查看vimeo文档:

Ruby字符串操作以获得基于@Picard和@basarat的功能链接(2020.09.01):

Youtube示例:

raw_video_link = 'https://www.youtube.com/watch?v=5qap5aO4i9A&ab_channel=ChilledCow'
video_link = 'https://www.youtube.com/embed/' + raw_video_link.split('=')[1].split('&')[0]
raw_video_link = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'.split('/')
  insert_player_link = raw_video_link[2].split('.').unshift('player').join('.')
  raw_video_link.delete_at(2)
  raw_video_link.insert(2, insert_player_link)
  raw_video_link.insert(3, 'video')
  video_link = raw_video_link.join('/')
Vimeo示例:

raw_video_link = 'https://www.youtube.com/watch?v=5qap5aO4i9A&ab_channel=ChilledCow'
video_link = 'https://www.youtube.com/embed/' + raw_video_link.split('=')[1].split('&')[0]
raw_video_link = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'.split('/')
  insert_player_link = raw_video_link[2].split('.').unshift('player').join('.')
  raw_video_link.delete_at(2)
  raw_video_link.insert(2, insert_player_link)
  raw_video_link.insert(3, 'video')
  video_link = raw_video_link.join('/')

请随意重构

但这是上述URL的具体解决方案。在我的场景中,URL可以是任何公共视频URL。在这种情况下,可能的解决方案是什么您从URL获取视频id,并将其转换为嵌入规则接受的格式。运行视频的嵌入规则是什么。我不熟悉HTML,sp帮助我找到这个解决方案。没有神奇的方法可以找到一个可以接受的方法来嵌入任意URL。您需要根据具体情况处理每个视频提供商。在这种情况下,了解Vimeo停止允许通过类似//Vimeo.com/84831861的地址进行嵌入,现在坚持采用//player.Vimeo.com/video/84831861的格式是很有帮助的