我正在尝试在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&rel=0&fs=1" frameborder="0"></iframe>
根据查找此问题的研究,该错误通常不会影响页面上已有的JavaScript。但是,在我们的例子中,它对我的任何悬停效果都有相当糟糕的影响。我已经尝试了很多不同的修复程序,包括通过Javascript实例化视频,但无济于事。希望外面有人知道答案!
我相信问题是 YouTube 出于某种原因试图联系呼叫者框架,并且它被禁用,因为它将是跨域调用。
也许本文可以帮助制定政策:HTML5, 沙盒 iframe
此外,您可以根据Google的文档指定"origin"参数:
作为一项额外的安全措施,您还应该在网址中包含 origin 参数,并将托管页面的网址方案(http://或 https://)和完整域指定为参数值。虽然 origin 是可选的,但包括它可以防止恶意的第三方 JavaScript 注入您的页面并劫持您的 YouTube 播放器的控制权。
现在这就是我能想到的。 希望对您有所帮助。