Javascript Chrome扩展-实现通道
我正在尝试用我的后端服务器实现一个通道,它运行在Google App Engine(Python)上,我不确定如何为Chrome编写前端代码。我找到了一些代码,但无法测试,因为我正在等待我的合作伙伴编写后端代码。我想知道我是否正确地实现了这一点 我也不明白代码是如何触发的?是什么触发了创建此通道Javascript Chrome扩展-实现通道,javascript,google-chrome-extension,channel-api,Javascript,Google Chrome Extension,Channel Api,我正在尝试用我的后端服务器实现一个通道,它运行在Google App Engine(Python)上,我不确定如何为Chrome编写前端代码。我找到了一些代码,但无法测试,因为我正在等待我的合作伙伴编写后端代码。我想知道我是否正确地实现了这一点 我也不明白代码是如何触发的?是什么触发了创建此通道 //The code I found which is placed in background.html: chrome.extension.onRequest.addListener (funct
//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
}
});
只要后台页面接收到来自扩展的另一部分(例如,内容脚本)的请求,您编写的代码就会打开一个通道 您可能希望在扩展加载后立即打开通道,并且仅在加载后打开。要做到这一点,只需打开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()包装)哦,我现在明白了。如果没有onRequest.addListener(),它会更有意义。因此,我的套接字将不断侦听来自该频道的消息。