拒绝显示'http://vimeo.com/27577981'在帧中,因为它设置了'X-Fram
Refused to display 'http://vimeo.com/27577981' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'
我正试图在嵌入标签中嵌入视频,但我收到了这个错误:
Refused to display 'http://vimeo.com/27577981' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
对于youtube链接:http://www.youtube.com/watch?v=zBEYR69o2Ao我什么时候换手表?v=使用embed/,运行良好。但视频没有必要是youtube的。所以我想要一个独特的解决方案。
我遇到了类似的问题
解决方案:
简而言之(目前)嵌入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文件:http://developer.vimeo.com/player/embedding
正如错误消息所说,您不能将该页面嵌入到框架中。Vimeo提供了关于如何嵌入播放器的文档。按照这个。
<html>
<head>
<title>{page_title}</title>
</head>
<body>
<iframe src="https://player.vimeo.com/video/{video_id}" width="{video_width}" height="{video_height}" frameborder="0" title="{video_title}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</body>
</html>
这是由于iframe中的网站将X-Frame-Options标头设置为:SAMEORIGIN
使这项工作的唯一方法是让网站要么不设置标题,要么将值更改为ALLOW-FROM您的uri
这就是为什么你需要遵循Vimeo的说明来让它发挥作用,但显然每个网站都必须独立处理。
此策略是避免点击劫持的安全措施。您可以在此处查看更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
Ruby字符串操作以获得基于@Picard的功能链接(2020.09.01)https://stackoverflow.com/a/27039766/12839228和@basarathttps://stackoverflow.com/a/51976196/12839228:
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]
Vimeo示例:
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('/')
随意重构!
相关文章:
- onclick函数需要双击,因为类分配延迟
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- 如何获得Bootstrap Datepicker的年和月,因为它在变化
- ACE编辑器正在删除模块,因为define是't一根绳子
- 未能加载,因为找不到支持的源.当播放HTML5音频元素时
- 任何人都知道IE7设置或更新/补丁,它可以防止IE因为jquery错误而无法加载页面
- "未捕获类型错误/丢弃意外“;因为一句台词而出现?(HTML w/<脚本>)
- CKeditor预览插件.js,为Chrome和IE进行编辑.因为它拒绝CSS样式
- Rails服务器因为uglifier gem而失败
- 缓存javascript失败,因为使用了外部javascript
- 拒绝在框架中显示,因为它设置了'X-Frame-Options'到'拒绝'在JavaSc
- 无法使用 ant 和闭包编译器编译 javascript,因为 Jquery 的 $ 是未声明的
- 为什么我的 ajax 调用没有生成,因为我包含 ajax 的 js 文件包含在 iframe 中
- 无法查看内容,因为尚未收到数据
- 我如何将多个 svg 隐藏到一个 png 中,因为它们在 html 上
- 无法使用 navigator.geolocation,因为“只允许安全源”
- JQuery 验证 - 如何检测“&”键(只允许“&”而不是“7”,因为两个键码都是“55”)
- 函数崩溃,因为太多迭代jQuery
- ng变化不会'除非我输入了有效的电子邮件地址,否则我不会因为输入电子邮件而被解雇
- 拒绝显示'http://vimeo.com/27577981'在帧中,因为它设置了'X-Fram