Youtube品牌频道中的HTML5 window.postMessage

时间:2013-06-19 09:32:29

标签: javascript html5 youtube youtube-channels

我已经在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.

我该怎么做才能解决这个问题?感谢

1 个答案:

答案 0 :(得分:1)

确保您可以使用http和https协议访问自定义小工具。

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

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

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