"Unsafe JavaScript attempt to access frame with URL"导致 JavaScript 滚动更新失败的错误



我正在尝试在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 出于某种原因试图联系呼叫者框架,并且它被禁用,因为它将是跨域调用。

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

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

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

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

最新更新