0

我在 Youtube 品牌频道中创建了一个自定义小工具,它根据 Youtube 的要求托管在符合 SSL 的服务器中。

但是,如果我通过 http 访问频道,postMessage() 将拒绝工作,因为它是在 https 服务器中调用的。

我的代码是这样的:

var new_height = JSON.stringify({"height": height + "px"});
top.postMessage(new_height, location.protocol +"//www.youtube.com/");

错误是这样的

Unable to post message to https://www.youtube.com. Recipient has origin http://www.youtube.com.

我能做些什么来解决这个问题?谢谢

4

1 回答 1

1

确保您的自定义小工具可通过 http 和 https 两种协议访问。

当用户使用 url https://youtube.com/[username] 打开您的频道时,youtube 将使用 https 在 iframe 中呈现您的小工具,当用户打开 http://youtube.com/[username] 时,youtube 将呈现 http 版本你的小工具。

只要确保您没有从 http 重定向到 https。

几天前我们做了一个这样的小工具,动态调整大小并记住我之前写的一切都适用于两种协议。

于 2013-06-20T08:26:50.660 回答