1

Google App Engine の Channel API から通知を受け取るコマンドライン ツールを作成したいと考えています。v8 や js などのオープンな JavaScript VM のおかげで、これは非常に簡単なようです。ただし、このアプローチの問題点の 1 つは、これらの VM が、チャネル API が参照するwindowやなどの標準の js オブジェクトを提供しないことです。documentしたがって、そのようなコードを実行するとwindow/document/.. not foundエラーが発生します。

この障害を回避するには、次の 2 つの方法があるようです。

  1. 軽量ヘッダーを JavaScript で記述して、必要なオブジェクトの動作をエミュレートします。
  2. Google の JavaScript (/_ah/channel/jsapi) を編集し、そのようなオブジェクトへの参照を削除します。

これらのアプローチの既存の実装があるかどうか、またはより良いアイデアを知っている人はいますか? さらに、どこかで利用可能なチャネル API クライアント側 JavaScript コードのクリーンで非圧縮バージョンはありますか?

4

1 に答える 1

1

/_ah/channel/jsapi で使用されるスクリプトは編集できません。これは、チャネルが開発アプリ サーバーに対して実行されている場合にのみ使用されます。本番環境で実行すると、そのスクリプトはhttps://talkgadget.google.com/talkgadget/channel.jsにリダイレクトされます

そのため、必要なオブジェクトをエミュレートするか、非表示のブラウザー ウィンドウを使用するしかありません。すべての DOM 呼び出しをエミュレートするのは非常に困難になると思うので、私は後者を選びます。

于 2013-06-23T13:47:05.737 に答える