我想编写一个命令行工具,接收来自Google App Engine的Channel API的通知。由于开放的JavaScripts虚拟机(如v8和js),这似乎非常简单。但是,这种方法的一个问题是这些VM不提供通道API引用的标准js对象,例如window
和document
。因此,运行此类代码会导致window/document/.. not found
错误。
似乎有两种方法可以绕过这个障碍:
有没有人知道这些方法是否已经存在,或者知道更好的想法?此外,在某处可以使用通道API客户端javascript代码的干净,未压缩版本吗?
答案 0 :(得分:1)
您无法编辑/ _ah / channel / jsapi使用的脚本 - 它仅在通道针对开发应用服务器运行时使用。在生产环境中运行时,该脚本会重定向到https://talkgadget.google.com/talkgadget/channel.js
因此,您只需要模拟所需的对象,或者只使用隐藏的浏览器窗口。我会选择后者,因为我认为模拟所有DOM调用会很快变得非常困难。