1

クリスマスに、チャネル API を使用して App Engine アプリケーションへのチャネルを開くコードをいくつか実装しましたが、問題なく動作していました。

最近コードに戻って、コードが壊れていることがわかりました。問題は、クライアント コードがフレームにロードしようとしている talkgadget にあるようです。

12 月 21 日に /_ah/channel/jsapi によって返されたコードのスナップショットを撮り、今日のコードと比較しています。

古いバージョンが talkgadget.google.com/talkgadget/d?token=[my-token] を取得しようとしたとき、http を使用するようにハードコーディングされていました。賢明なことに、コードは後で変更され、document.location でページのプロトコルをチェックし、https が使用されている場合に適応するようになりました。現在の問題は、chrome 拡張機能で実行しているときに chrome-extension を取得することです。プロトコルとして、当然のことながら拡張機能でチャネルを開くことができません。

バックグラウンド ページのベースをアプリスポット URL に設定しても、document.location は変更されませんが、そうすべきだという漠然とした考えはありました。(基準が何を言っているのかわかりません。)

これに対する回避策はありますか? 1 つの考えは、自分のサイトから読み込まれる独自の iframe を作成することでしたが、実際のチャネルの iframe がネストされ、事態が複雑になります。

Moishe や App Engine チームの誰かがこれについてコメントしてくれませんか。これはバグのようです。コードは、プロトコルをテストして代わりにベースタグを検索するか、javascript オブジェクトを介してこれを構成する方法を提供することにより、chrome 拡張機能を取り込む必要があります。

4

1 に答える 1

0

はい、これはバグです。提出された修正があり、本番環境へのロールアウトの過程にあります。だいたい一週間くらいで出来上がります。

それまでの間、拡張機能に埋め込まれた iframe のアイデアは機能するはずです。

于 2011-02-13T15:25:33.083 に答える