【问题标题】:Google App Engine Channel API and Chrome ExtensionsGoogle App Engine Channel API 和 Chrome 扩展
【发布时间】:2011-02-09 21:48:50
【问题描述】:

在圣诞节期间,我实现了一些代码来使用通道 API 打开我的 App Engine 应用程序的通道,并且运行良好。

最近回代码发现坏掉了,问题似乎出在talkgadget上,客户端代码试图加载到frame中。

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

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

将背景页面的基础设置为我的 apppot URL 不会更改 document.location,尽管我有一些模糊的概念认为它应该这样做。 (不确定标准是怎么说的。)

有解决办法吗?一种想法是创建从我的站点加载的我自己的 iframe,但随后它将嵌套实际的频道 iframe,使事情变得复杂。

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

【问题讨论】:

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


    【解决方案1】:

    是的,这是一个错误。提交了一个修复程序,并且正在推广到生产环境中;大概一周后就出来了。

    与此同时,您在扩展程序中嵌入 iframe 的想法应该可行。

    【讨论】:

    • 谢谢,我会注意修复的。您的一位同事还在 GAE 开发人员论坛上回答了这个问题,尽管我终生无法在那里找到该帖子。它神秘地消失了。
    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2011-09-06
    • 2014-05-28
    • 2014-02-01
    • 2012-01-07
    • 1970-01-01
    相关资源
    最近更新 更多