我使用YouTube iframe API获取了各种http / https和原始错误,这只是Safari的问题(我认为在大多数版本中,我使用的是7.0.4版本)
我收到了这些错误:
无法向https://www.youtube.com发送消息。收件人来源http://example.com。
和
屏蔽了包含原点" https://www.youtube.com"从访问带有起源的框架" http://example.com"。请求访问的帧具有" https"的协议,被访问的帧具有" http"的协议。协议必须匹配。
结果是视频保持黑色,有时会在其中显示播放图标。视频通常会加载,相当随机。视频本身会自动播放,因此无需点击。所有其他浏览器都表现良好。
创建YTPlayer时,原始参数的设置如下:
playerVars: {
origin: 'http://example.com'
}
YouTube本身就像这样加载:
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
我已尝试指定" http://www.youtube.com/iframe_api&#34 ;;我得到了同样的错误。我的域名是http而不是https - 我猜测这是问题的根源,我不确定如何阻止youtube默认为https。
答案 0 :(得分:-3)
提高z-index解决了这个问题,比如
z-index: 1000
在我的情况下,我使用famo.us框架,你很容易遇到z-index问题。只有safari在现代浏览器中具有这种行为,并且可以在不影响视觉z位置的情况下以这种方式更改z-index。