3

我正在尝试在 XSL 页面中嵌入 YouTube 视频,但不断收到以下错误:

Unsafe JavaScript attempt to access frame with URL [URL removed] from frame with URL http://www.youtube.com/embed/[video code removed]?showinfo=0&rel=0&fs=1. Domains, protocols and ports must match.

使用以下简单的 iframe。

<iframe width="663" height="373" src="http://www.youtube.com/embed/[video code removed]?showinfo=0&amp;rel=0&amp;fs=1" frameborder="0"></iframe>

从查找此问题的研究来看,该错误通常不会影响页面上已经存在的 JavaScript。然而,在我们的例子中,它对我拥有的任何悬停效果都有相当糟糕的影响。我尝试了许多不同的修复方法,包括通过 Javascript 实例化视频,但无济于事。希望有大神知道答案!

4

1 回答 1

0

我认为问题在于 YouTube 出于某种原因试图联系调用者框架并且它被禁用,因为这将是一个跨域调用。

也许这篇文章可以帮助制定政策: HTML5,沙盒 iframe

此外,您可以根据 Google 的文档指定“origin”参数:

作为一项额外的安全措施,您还应该在 URL 中包含 origin 参数,指定 URL 方案(http:// 或 https://)和主机页面的完整域作为参数值。虽然来源是可选的,但它可以防止恶意第三方 JavaScript 被注入您的页面并劫持您的 YouTube 播放器的控制权。

目前我能想到的就只有这些了。希望能帮助到你。

于 2014-01-02T12:43:29.300 回答