Google App Engine渠道API和Chrome扩展程序

时间:2011-02-09 21:48:50

标签: google-app-engine google-chrome-extension channel-api

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

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

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

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

将背景页面的基础设置为我的appspot URL不会改变document.location,尽管我有一些模糊的概念,它应该。 (不确定标准是什么意思。)

有解决方法吗?一个想法是创建我自己的iframe从我的网站加载,但然后它将嵌套实际的通道iframe,使事情变得复杂。

我想知道Moishe或App Engine团队中的其他人是否可以对此发表评论。看起来这是一个错误,代码应该通过测试协议和搜索基本标记作为替代方法,或者通过javascript对象提供一些配置方式来进入chrome扩展。

1 个答案:

答案 0 :(得分:0)

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

与此同时,您对扩展中嵌入iframe的想法应该有效。