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 回答