"Unsafe JavaScript attempt to access frame with URL"错误导致JavaScript滑动失效。

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实例化视频,但都无济于事。希望有人知道答案!


你使用过 YouTube API 吗? - epascarello
我已经尝试使用iframe API和JavaScript API,但两者都返回相同的错误。 - Joseph Shambrook
1个回答

0

我认为问题在于YouTube试图以某种方式联系调用方框架,但由于这将是跨域调用,因此已被禁用。

也许这篇文章可以帮助解决策略问题: HTML5,iframe沙盒

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

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

现在这就是我能想到的全部了。希望对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接