2011-02-09 136 views
1

在圣诞节期间,我实施了一些代码,以使用频道API向我的App Engine应用程序打开频道,并且工作正常。Google App Engine频道API和Chrome扩展

我最近返回到代码,发现它已损坏,并且问题似乎在于talkgadget客户端代码正在尝试加载到框架中。

我在12月21日拍摄了/ _ah/channel/jsapi返回的代码的快照,并将其与今天的代码进行了比较。

当旧版本试图获取talkgadget.google.com/talkgadget/d?token=[my-token]时,它被硬编码为使用http。很明显,代码后来被更改为检查document.location中的页面协议,并适应使用https的情况。现在的问题是,当在扩展中运行chrome时,它会获得chrome-extension:作为协议,并且通道无法在扩展中打开。

将背景页面的底部设置为我的appspot网址不会更改document.location,但我有一些模糊的概念,它应该。 (不知道标准说什么。)

有没有解决方法?一个想法是创建我自己的iframe加载我的网站,但它会嵌套实际的通道iframe,使事情复杂化。

我不知道Moishe或App Engine团队的其他人是否可以对此发表评论。看起来这是一个错误,代码应该通过测试协议并搜索基本标记作为替代方法,或者通过JavaScript对象提供某种方式来配置它。

回答

0

是的,这是一个错误。提交了一个修复程序,并且正在进行生产;它可能会在一周左右出局。

与此同时,您对嵌入在扩展中的iframe的想法应该起作用。

+0

谢谢我会寻找修复。你的一位同事也在GAE开发者论坛上回答了这个问题,尽管在我的生活中我再也找不到这个帖子了。它神秘地消失了。 – 2011-02-20 22:38:16