我已经在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.
我该怎么做才能解决这个问题?感谢
答案 0 :(得分:1)
确保您可以使用http和https协议访问自定义小工具。
当用户使用网址https://youtube.com/[username打开您的频道时,youtube会使用https在iframe中呈现您的小工具,当用户打开http://youtube.com/[username]时,youtube会呈现您的小工具的http版本。
请确保您没有从http重定向到https。
我们几天前制作了一个这样的小工具,动态调整大小,并记住我之前写的所有内容都适用于这两种协议。