2013-06-05 51 views
60

我正在使用YouTube的IFRAME API,并获取与源阻止框架相关的以下控制台错误http://www.youtube.com 。想知道是否有人可以解释为什么这个错误只出现在Chrome控制台中,以及是否有任何方法可以防止这种情况发生?在Chrome控制台中删除YouTube的iframe api控制台错误 - “阻止与原点...”的方法

错误:

阻止与原籍 “http://www.youtube.com” 的帧从访问与原点 “http://youtubetest.appspot.com” 的帧。协议,域和端口必须匹配。

+0

你在https中运行页面吗?包含的html代码是什么样的? – epascarello

+8

好的找到了答案https://code.google.com/p/chromium/issues/detail?id=17325 – styler

+1

@styler我经历了你的答案链接,但不明白你是如何解决它的?你可以让我知道这里。 –

回答

10

我也有类似错误的JS错误是:

Blocked a frame with origin " https://www.youtube.com " from accessing a frame with origin " http://www.yourdomain.com ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocol/Protocols must match, YouTube has CORS (Cross Origin Resource Sharing) enabled to allow across domains.

尝试在您的YouTube iframe标签摆脱https://的?

你也可以看看你的关闭iframe标签。 Iframe标记不是单例标记,必须以</iframe>而非/>结尾。

+0

除了在控制台中出现这是否导致网站上的任何问题?有没有其他方法可以解决这个问题,因为有时候用户会自己获取嵌入代码,所以编辑任何代码可能超出他们? – ak85

+0

这不是OP问题的答案。正如你在问题中看到的那样,这两个起源的协议都没有问题,但是域名没有问题。删除'''https://'''什么都不会做(尤其是当他们使用'''http://''')时。 – Lior

+1

这个答案是不正确的 – reaz

6

今天看来,使用YouTube提供的无协议“//youtube.com”网址自己的嵌入代码SNIPPET TOOL正在抛出协议匹配错误。 (叹气)本周早些时候这很好。

如果我将https:添加到嵌入网址,它会停止引发错误并且iframe JS API有效。它会继续抛出你的“Blocked a frame with origin ...”错误,但JS API将按预期运行。