javascript - 用于 Google App Engine channel API 客户端的无窗口容器

标签 javascript google-app-engine v8

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

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

  1. 用 JavaScript 编写轻量级 header 来模拟所需对象的行为。
  2. 编辑 Google 的 javascript (/_ah/channel/jsapi) 并消除对此类对象的引用。

有谁知道这些方法是否有现有的实现,或者知道更好的想法?此外,是否有干净、未压缩版本的 channel API 客户端 JavaScript 代码可用?

最佳答案

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

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

关于javascript - 用于 Google App Engine channel API 客户端的无窗口容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17237989/

相关文章:

Javascript 和 jquery 脚本只更改一次类

python - Google 应用程序引擎 - 错误 : Model constructor takes no positional arguments

javascript - 未定义 >>> 0 == 4294967295?

javascript - 如何将 .gif 显示为背景图像?

javascript - 如何使用 ReactJS 显示动态表上每一行的价格?

python - 在 Google 应用引擎中按 'order' 对结果进行排序导致错误

javascript - 在 native Node 的回调中调用回调

javascript - V8 会自动解析字符串中的 ascii 字符吗?

javascript - 在子元素的 onclick 事件处理程序中定位父元素

python 不会为元组释放内存,是吗?