适用于Google App Engine渠道API客户端的无窗口容器

时间:2013-06-21 14:39:47

标签: javascript google-app-engine v8

我想编写一个命令行工具,接收来自Google App Engine的Channel API的通知。由于开放的JavaScripts虚拟机(如v8和js),这似乎非常简单。但是,这种方法的一个问题是这些VM不提供通道API引用的标准js对象,例如windowdocument。因此,运行此类代码会导致window/document/.. not found错误。

似乎有两种方法可以绕过这个障碍:

  1. 在javascript中编写轻量级标头以模拟所需对象的行为。
  2. 编辑Google的javascript(/ _ah / channel / jsapi)并删除对此类对象的引用。
  3. 有没有人知道这些方法是否已经存在,或者知道更好的想法?此外,在某处可以使用通道API客户端javascript代码的干净,未压缩版本吗?

1 个答案:

答案 0 :(得分:1)

您无法编辑/ _ah / channel / jsapi使用的脚本 - 它仅在通道针对开发应用服务器运行时使用。在生产环境中运行时,该脚本会重定向到https://talkgadget.google.com/talkgadget/channel.js

因此,您只需要模拟所需的对象,或者只使用隐藏的浏览器窗口。我会选择后者,因为我认为模拟所有DOM调用会很快变得非常困难。