【发布时间】:2015-02-18 19:13:15
【问题描述】:
这是我收到的错误消息:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided
('https://www.youtube.com') does not match the recipient window's origin
('http://localhost:9000').
我见过其他类似的问题,目标来源是http://www.youtube.com,收件人来源是https://www.youtube.com,但没有一个像我这样的问题,目标是https://www.youtube.com,来源是http://localhost:9000。
- 我不明白这个问题。有什么问题?
- 我该如何解决?
【问题讨论】:
-
我遇到了同样的问题,@ChrisFranklin 下面的修复程序为我修复了它;但奇怪的是,对于我的问题,我只会在大约一半的时间里得到错误,即使这样,视频仍然会加载(尽管其他事情会中断)。
-
@dgo 同样的问题,在页面加载时是随机的。结果(我认为)这是由于实际的 iframe 内容在其他东西尝试执行 postMessage 时尚未完全准备好。所以它是一个竞争条件。如果 postMessage 在稍后发生(用户操作),它可以正常工作而不会出错。
-
即使是 Google 本身也有这个错误 - 打开控制台并在此处播放视频:developers.google.com/youtube/iframe_api_reference
标签: javascript angularjs youtube youtube-api youtube-iframe-api