0

Google App Engine (Python) で実行されているバックエンド サーバーでチャネルを実装しようとしていますが、Chrome のフロントエンド コードの書き方がわかりません。コードをいくつか見つけましたが、パートナーがバックエンド コードを作成するのを待っているため、テストできません。これを正しく実装しているかどうか疑問に思っています。

また、コードがどのようにトリガーされるのかわかりませんか? このチャネルが作成されるきっかけは何ですか?

//The code I found which is placed in background.html:

chrome.extension.onRequest.addListener (function(request, sender, sendResponse) {
    var channel = new goog.appengine.Channel(channelToken);
    var socket = channel.open()

    socket.onopen = function() {
      // Do stuff right after opening a channel
    }

    socket.onmessage = function(evt) {
      // Do more cool stuff when a channel message comes in
    }
}); 
4

1 に答える 1

2

作成したコードは、バックグラウンド ページが拡張機能の別の部分 (コンテンツ スクリプトなど) からリクエストを受け取るたびにチャネルを開きます。

おそらく、拡張機能がロードされたらすぐにチャンネルを開きたいと思うでしょう。これを行うには、ページの読み込み時に実行される background.html JS でソケットを開くだけです。

例えば:

var channel = new goog.appengine.Channel(channelToken);
var socket = channel.open()

socket.onopen = function() {
  // Do stuff right after opening a channel
}

socket.onmessage = function(evt) {
  // Do more cool stuff when a channel message comes in
}

(onRequest.addListener() ラッパーなし)

于 2012-03-25T23:56:16.377 に答える