Vimeo 视频在本地工作,但不能在实时网站上工作:未捕获的安全错误:iframe 的来源错误

Posted

技术标签:

【中文标题】Vimeo 视频在本地工作,但不能在实时网站上工作:未捕获的安全错误:iframe 的来源错误【英文标题】:Vimeo video works locally but not on live website: Uncaught Security Error: origin error with iframe 【发布时间】:2015-07-16 22:09:47 【问题描述】:

我很难弄清楚这一点。我在 vimeo 托管的网站上有两个视频。使用他们提供的嵌入代码,一个视频将显示和播放,另一个将在本地播放,但在我将其上传到 bluehost 后就不会播放。

控制台显示:Uncaught SecurityError: Failed to read the 'contentDocument' property from 'htmlIFrameElement': Blocked a frame with origin "http://www.example.org" from access a frame with origin "http://example.org".协议、域和端口必须匹配。

它引用了 jquery.min.js。

我找到了一些关于如何使用 document.domain 解决此问题的建议,但无济于事。任何帮助将非常感激。感谢您的宝贵时间

【问题讨论】:

可以在 Question 中包含 html , js 吗? 【参考方案1】:

来自https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

http://store.company.com/dir2/other.html : Success
http://store.company.com/dir/inner/another.html : Success
https://store.company.com/secure.html : Failure - Different protocol
http://store.company.com:81/dir/etc.html : Failure - Different port
http://news.company.com/dir/other.html : Failure - Different host

您要查看的是底线 - '失败 - 不同的主机':

你的解释有http://example.comhttp://www.example.com,实际上可以认为是不同的主机。所以我会尝试同时匹配 www 或非 www。

如果这不起作用,另一种解决方案是使用 HTTP 访问控制 (CORS),但它可能比您愿意处理的要复杂得多。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

【讨论】:

以上是关于Vimeo 视频在本地工作,但不能在实时网站上工作:未捕获的安全错误:iframe 的来源错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Vitamio 在 Android 中支持 Youtube 和 Vimeo 视频

Pushsharp:IOS 通知在本地工作,但不在实时服务器上

如何在原生 iOS 应用程序中显示 Vimeo 实时视频流

单击时未播放 Vimeo 嵌入视频 [关闭]

无法打开流:没有这样的文件或目录,但目录存在。在本地主机上工作但不在实时站点上工作[重复]

如何在没有 Youtube 或 Vimeo 的情况下嵌入视频?